CF1156F. Card Bag
Solution
概率DPDPDP。
记cnticnt_icnti表示有多少个aj=ia_j=iaj=i,再把aia_iai离散化。
令fi,jf_{i,j}fi,j表示当前取过iii个数,当前取到了aja_jaj的概率。
fi,j=fi−1,k∗cntain−i+1f_{i,j}=f_{i-1,k}*\frac{cnt_{a_i}}{n-i+1}fi,j=fi−1,k∗n−i+1cntai
Ans=∑fi,j∗cntai−1n−iAns=\sum{f_{i,j}*\frac{cnt_{a_i}-1}{n-i}}Ans=∑fi,j∗n−icntai−1
转移用前缀和优化即可。
时间复杂度O(n2)O(n^2)O(n2)
概率DP解题思路与优化技巧
这篇博客详细解析了CF1156F.CardBag问题的解决方案,采用概率动态规划(DP)的方法进行求解。文章介绍了如何计算在取到特定数值时的概率,并通过前缀和优化转移过程,降低了时间复杂度至O(n^2)。内容深入浅出,适合熟悉概率DP的读者进一步提升解题技巧。
793

被折叠的 条评论
为什么被折叠?



