[集训队作业2018]小Z的礼物(min-max容斥,插头dp)
傳送門
-
這種求 “取到所有物品的期望時間” 的題一般都用 min?maxmin-maxmin?max容斥 解決:
設t(i,j)t(i,j)t(i,j)為取到格子(i,j)(i,j)(i,j)的期望時間,集合S=∪c(i,j)=′?′{t(i,j)}S=\cup_{c(i,j)='*'}\{t(i,j)\}S=∪c(i,j)=′?′?{t(i,j)}
那么根據min?maxmin-maxmin?max容斥有:max?(S)=∑T?S,T≠?(?1)∣T∣?1min?(T)\max(S) = \sum_{T\subseteq S, T \neq \varnothing} (-1)^{|T|-1}\min(T)max(S)=T?S,T?=?∑?(?1)∣T∣?1min(T) -
min(T)min(T)min(T)即為首次取到TTT中的格子的期望時間(記為ETE_TET?),考慮轉成求概率:
設PTP_{T}PT?為取到TTT中的格子的概率,由ET=1+(1?PT)ETE_{T}=1+(1-P_T)E_TET?=1+(1?PT?)ET?解得ET=1PTE_T=\frac{1}{P_T}ET?=PT?1?
設有覆蓋到TTT中的格子的相鄰對個數為xxx,因為總共的相鄰對個數為m(n?1)+n(m?1)m(n-1)+n(m-1)m(n?1)+n(m?1),所以PT=xm(n?1)+n(m?1)P_T=\frac{x}{m(n-1)+n(m-1)}PT?=m(n?1)+n(m?1)x?,得到ET=m(n?1)+n(m?1)xE_T=\frac{m(n-1)+n(m-1)}{x}ET?=xm(n?1)+n(m?1)? -
發現子集TTT數量很多,但是xxx非常小,于是神奇地轉換思路:
求出對于每個xxx,有多少個子集TTT滿足恰有xxx個相鄰對有覆蓋到TTT中的點。
上插頭dp,設dp[i][j][s][x]dp[i][j][s][x]dp[i][j][s][x]表示做到了(i,j)(i,j)(i,j),當前狀態為sss,有xxx個相鄰對。
我們dp的內容是系數和,如果選了一個格子,集合大小改變,要乘一個?1-1?1作為系數。
參考文章:
https://www.cnblogs.com/ZH-comld/p/11014880.html
https://www.cnblogs.com/huyufeifei/p/10498429.html
總結
以上是生活随笔為你收集整理的[集训队作业2018]小Z的礼物(min-max容斥,插头dp)的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 祝自己开工大吉的句子 祝自己开工大吉有哪
- 下一篇: [集训队作业2018] 万圣节的积木(李