表示考场上有考虑过状压的,后来因为忘了太多期望 DP 的知识没写出来(
首先把 pi=0 的物品缩起来,这样考虑剩下的物品就行了,计算的时候顺便加入这些物品的贡献即可。
实际上此题的 DP 非常不好写,考虑记搜每个物品已经用了多少次的情况下,能得到的最大期望。
我们需要一种哈希方式,当然也很简单,在一个二进制数里给每个物品留 ⌊log2pi⌋+1 个二进制位存就可以了(实际上直接留 pi 个位也是极好的)。
那么转移时实际上考虑此时抽到这个物品放弃与否即可。
代码:
1 |
|
表示考场上有考虑过状压的,后来因为忘了太多期望 DP 的知识没写出来(
首先把 pi=0 的物品缩起来,这样考虑剩下的物品就行了,计算的时候顺便加入这些物品的贡献即可。
实际上此题的 DP 非常不好写,考虑记搜每个物品已经用了多少次的情况下,能得到的最大期望。
我们需要一种哈希方式,当然也很简单,在一个二进制数里给每个物品留 ⌊log2pi⌋+1 个二进制位存就可以了(实际上直接留 pi 个位也是极好的)。
那么转移时实际上考虑此时抽到这个物品放弃与否即可。
代码:
1 | #include <cstdio> |
Related Issues not found
Please contact @Alpha1022 to initialize the comment