Luogu P6689 序列
阿新 • • 發佈:2020-09-11
Luogu 月賽 1C P6689 序列
給定 \(N,K\),初始有一個長度為 \(N\) 的字串 \(S\) 為全 (
,進行若干次操作直到 \(K=0\)
- 在 \([1,N]\) 中隨機一個數,將此位置上的括號取反。
- 如果本次隨機使得
(
的數量減少了 \(1\),那麼給 \(K\) 減 \(1\)
求最長合法括號序列的期望。
\(\rm Sol:\)
先做一點預處理,我們發現,如果知道最後序列中被翻轉了 \(k\) 個的概率,那麼出現在每個位置的概率都是相同的。
考慮通過 dp 來統計這個問題,我們發現 )
的每次增加都意味著 \(K\) 減少了 \(1\),於是不妨設 \(f_{i,j}\)
)
的概率,那麼轉移僅有兩種:\(j\) 變小,或者 \(i\) 變小且 \(j\) 變大。
接下來考慮序列中有 \(k\) 個 )
的情況下最長合法括號序列長度的期望。
我們不妨假定我們已經知道了序列的模樣,我們如何計算其最長括號序列,我們給所有左括號賦權值 \(1\),右括號賦權值 \(−1\),令 \(