第23次CSP-D题解法

状态的表示:

观察到$n,k$很小,抽到已经获得过的卡牌产生的影响相同等性质,自然想到利用状压表示状态,即使用$dp[S][i]$表示已有卡牌集合为$S$,现有硬币数为$i$的概率

状态的转移:

由$dp$数组的意义可得到如下转移方程:

$dp[S][i]=\sum\limits_{k\in S}(dp[S/\{k\}][i]+dp[S][i-1])*p[k]$

统计答案:

题目要求期望抽卡次数,考虑在已知$dp$数组的情况下统计答案,易知终止条件为$i\geqslant(n-|S|)*k$,终止时抽卡次数为$|S|+i$,由此可求得这一终止状态对期望的贡献$dp[S][i]*(|S|+i)$

时间复杂度$O(2^n*n^2k)$

posted @ 2021-10-08 20:41  Ivanovcraft  阅读(86)  评论(0编辑  收藏  举报