【題目描述】
成都創新互聯成立于2013年,是專業互聯網技術服務公司,擁有項目成都網站設計、成都網站建設網站策劃,項目實施與項目整合能力。我們以讓每一個夢想脫穎而出為使命,1280元鹽城做網站,已為上家服務,為鹽城各地企業和個人服務,聯系電話:028-86922220
Throw n dices, the sum of the dices' faces is S. Given n, find the all possible value of S along with its probability.
Notice:You do not care about the accuracy of the result, we will help you to output results.
扔 n 個骰子,向上面的數字之和為 S。給定 Given n,請列出所有可能的 S 值及其相應的概率。
注意:你不用關注答案的準確性,我們會幫你輸出答案
【題目鏈接】
http://www.lintcode.com/en/problem/dices-sum/
【題目解析】
這題用dfs做感覺更加直觀,但是過不了time cost。換成dp的方法我是這么想的:
用dp[i][j]表示有i + 1個骰子的情況下,擲到的和為j的次數。那么intialize這個dp[0][j], j = 1...6的值都為1,然后從i = 1開始做循環。i個骰子和i + 1個骰子的差別就是1個骰子(廢話),所以再用一個k = 1...6進行遍歷,那么i + 1個骰子擲到j + k的次數就是原來dp[i][j + k]的次數加上dp[i - 1][j]。
這樣我們就求得了n個骰子的情況下,每個S出現的次數dp[n - 1][j], j = n...6 * n。那么概率就是每個dp[n - 1][j]除以出現的總次數sum(dp[n - 1][j]).
這里要注意dp的值可能很大,所以要用到long long,否則在有些test case(e.g., n = 15)的情況下,會出現負數答案。
【答案鏈接】
http://www.jiuzhang.com/solution/dices-sum/
當前名稱:Lintcode20DicesSumsolution題解
文章地址:http://newbst.com/article20/jhchco.html
成都網站建設公司_創新互聯,為您提供網站導航、網站設計、面包屑導航、關鍵詞優化、品牌網站制作、網站設計公司
聲明:本網站發布的內容(圖片、視頻和文字)以用戶投稿、用戶轉載內容為主,如果涉及侵權請盡快告知,我們將會在第一時間刪除。文章觀點不代表本網站立場,如需處理請聯系客服。電話:028-86922220;郵箱:631063699@qq.com。內容未經允許不得轉載,或轉載時需注明來源: 創新互聯