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)