千家信息网

Lintcode20 Dices Sum solution 题解

发表于:2026-11-01 作者:千家信息网编辑
千家信息网最后更新 2026年11月01日,【题目描述】Throw n dices, the sum of the dices' faces is S. Given n, find the all possible value of S alo
千家信息网最后更新 2026年11月01日Lintcode20 Dices Sum solution 题解

【题目描述】

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/


骰子 次数 答案 就是 情况 题目 概率 链接 很大 直观 不用 之和 准确性 差别 废话 得了 感觉 数字 方法 负数 数据库的安全要保护哪些东西 数据库安全各自的含义是什么 生产安全数据库录入 数据库的安全性及管理 数据库安全策略包含哪些 海淀数据库安全审计系统 建立农村房屋安全信息数据库 易用的数据库客户端支持安全管理 连接数据库失败ssl安全错误 数据库的锁怎样保障安全 互联网的科技 互联网科技金融 顺玮阁互联网科技 互联网科技的未来发展 甘肃拓世互联网科技有限公司 深圳互联网科技怎么样 广州恒生互联网科技有限 互联网为啥属于高科技 互联网科技产业特征 速维有品互联网信息科技(苏州)有限公司 伊宁互联网科技做什么的 江苏苏星互联网科技有限公司 广州富喜互联网络科技 从那以后互联网科技有限公司 有人说阿里系是互联网科技企业 半导体行业属于互联网高科技类吗 互联网高科技行业有哪些企业 艺电能源互联网科技有限公司招聘 易租星互联网科技有限公司 上海旺乐尼互联网科技有限公司 喔噻互联网科技有限公司 深圳科技互联网 科技与互联网发展 万易互联网科技 互联网与新科技 互联网科技视频 贷财互联网科技 昭通云南众福互联网科技有限公司 港股科技和互联网 山东大美朱楼互联网科技有限公司
0