题意:
n个盒子(n<=300),每个盒子内装有一个钥匙,(盒子与钥匙一一对应),一开始可以任意打开k个盒子,询问有多大的概率能打开所有盒子。
解析:
首先显然先求出来置换。
之后问题转化为每一个置换至少选一个的方案数(总共选k次)
然后千万不要忘了组合数还可以用浮点数存:)
于是很显然这是个
DP
设
dp[i][j]
表示前
i
个置换每一个置换至少选1个选了
则
dp[i][j]=∑zhihuan[i]l=1dp[i−1][j−l]∗C(zhihuan[i],l)
代码:略
开锁魔法 DP+组合数
最新推荐文章于 2023-11-01 09:31:39 发布