洛谷 P4707 【重返現世】
題目分析
題目就是求第K種原料的出現期望時間。
考慮廣義min-max容斥。
\(\text{kthmax}(S)=\sum\limits_{T\subseteq S}(-1)^{|T|-k}\binom{|T|-1}{k-1}\min(T)\)
顯然\(\min(T)=\frac{m}{\sum\limits_{i\in S}p_i}\)。
發現\(m\)的範圍很小,那麼我們可以考慮設狀態dp算貢獻。
設\(f_{j,k}\)表示對於集合\(|S|\),\(j=\sum\limits_{i\in S}p_i\),集合大小為\(k\)的方案數。
轉移顯然。
但是時間複雜度為\(O(n^2m)\)
觀察到還有\(|n-k|<=10\)的條件,考慮改變狀態。
設\(f_{j,k}\)表示對於集合\(S\),\(j=\sum\limits_{i\in S}p_i\),
組合數下標為\(k\)的\(\sum\limits_{T}(-1)^{|T|-k}\binom{|T|-1}{k-1}\min(T)\)的值。
對於一個概率為\(v\)的新物品:
如果不加入,直接累加前面的答案。
如果加入,那麼答案應該是從\(f_{j-v,k-1}\)轉移過來。
我們觀察一波式子(標解)
我們用\(g_{i,j}\)表示對於集合\(S\),\(|S|=i\),\(j= \sum\limits_{k\in S}p_k\)
對於\(f_{j-v,k}\):
\(f_{j-v,k-1}=\sum\limits_{i}(-1)^{i-k+1}\binom{i-1}{k-2}g_{i,j-v}\)
\(=-\sum\limits_{i}(-1)^{i-k}\binom{i-1}{k-2}g_{i,j-v}\)
增加一個物品後:
\(\triangle f_{j,k}=\sum\limits_i(-1)^{i-k+1}\binom{i}{k-1}g_{i,j-v}\)
\(=-\sum\limits_i(-1)^{i-k}\binom{i}{k-1}g_{i,j-v}\)
兩式相減:
\(\triangle f_{j,k}-f_{j-v,k-1}=-\sum\limits_i(-1)^{i-k}\binom{i-1}{k-1}g_{i,j-v}\)
\(=-f_{j-v,k}\)
因此我們得到了遞推式:
\(f_{j,k}=f'_{j,k}+f'_{j-v,k-1}-f'_{j-v,k}\)
因此我們就可以\(O(m*(n-k))\)解決dp。
答案就是\(\sum\limits_{i=1}^{m}\frac{m}{i}f_{i,k}\)