DP--划分问题(掷骰子)

博客探讨了一次掷n个p面骰子的所有可能情况,通过动态规划和递推公式解析问题,得出当n个骰子每个有p个面时,总共有C(n+p-1,p-1)种不同情况。同时介绍了排列处理方法,确保不重复计数。" 132704785,19687572,MATLAB中元胞数组的数据访问技巧,"['MATLAB', '数据结构', '算法']
摘要由CSDN通过智能技术生成

一次掷n个骰子,每个骰子有p个面,问有多少种情况?

要考虑重复情况,例:2个骰子,3个面,1,1,2和2,1,1是一种情况

对于这种情形 我们一般进行排序处理 把所有情况所对应的数从小到大排序
a1<=a2<=a3<=...<=an。
比如1,1,2和2,1,1就相当于1,1,2了
再比如 3,1,2 2,3,1 都相当于1,2,3
这样每种情况都与一个序列一一对应不是吗?

方法一:

和划分问题一类似,考虑动态规划方程

第一个骰子为1时,剩下的骰子有p   个面选择,f(n-1,p)

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值