剑指 offer set 23 n 个骰子的点数

题目

把 n 个骰子扔到地上, 所有骰子朝上一面的点数之和为 s. 输入 n, 打印出 s 所有可能的值出现的概率.

思路

1. 基于递归的求解方法. 深度为 n 的 dfs, 相当于求全排列, 时间效率太低

2. 基于循环的实现, 有动态规划的思想在里面. dp[n][i] 表示 n 个骰子时, 出现和为 i 的个数. 那么状态转移方程变成 dp[n+1][i] = dp[n+1][i-1]+...dp[n+1][i-6]

总结

1. 有必要把之前做过的 poj 题目再重新搞一遍, 动规题目的 dp 数组设置方法需要重新回顾

原文地址:https://www.cnblogs.com/xinsheng/p/3564038.html