剑指 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 数组设置方法需要重新回顾

posted @ 2014-02-24 08:55  SangS  阅读(173)  评论(0编辑  收藏  举报