9.2 模擬賽

2huk發表於2024-09-02

還沒寫完

A. 島嶼

題意簡述:有 \(2n\) 個島。給定 \(x, y\),其中 \(2x+y=n\)。已知島 \(i, i+n\) 之間有連邊。\([1, x] \cup [n+1,2n-x]\) 的島是紅色,其餘是白色。現在要新增 \(n\) 條邊,每條邊的兩個端點的顏色不能相同。求圖中的期望連通塊數量。

若我們將 \([1, n]\)\([n + 1, 2n]\) 的島分別看作一組,那麼這兩組的前 \(x\) 個元素形如 \(1-1\),中間 \(y\) 個形如 \(0-1\),後 \(x\) 個形如 \(0-0\)

\[1,1,1,1,0,0,0,0,0,0\\ 1,1,1,1,1,1,0,0,0,0 \]

比如這個例子中 \(x = 4, y = 2\)

因為兩組中的對應位置間初始已經有連邊,即每個點的度數均為 \(1\)。此時要新加 \(n\) 條邊,且邊的端點互不相同,也就是說新圖中每個點的度數都應該增加 \(1\),即為 \(2\)。而如果一個連通塊中所有點的度數均為 \(2\) 則這個連通塊是一個環。問題變成求圖中環的期望數量。

設計 DP 狀態 \(f(A, B, C)\) 表示有 \(A\)\(1-1\)\(B\)\(0-0\)\(C\)\(0-1\) 的期望環的數量。那麼答案為 \(f(x, x, y)\)

考慮轉移。

  • \(C = 0\)

    即只有 \(A\)\(1-1\)\(B\)\(0-0\)。因為能加的邊的兩端點的顏色不能相同,所以不能在 \(A, B\) 內部連邊,即要從 \(A, B\) 中分別選一條邊相連。而連線後 \(1-1-0-0\) 可以視作 \(1-0\) 邊,而 \(1-1,0-0\) 邊的數量分別減少。即 \(f(A, B, 0) = f(A - 1, B - 1, 1)\)

  • \(C > 0\)

    我們考慮分析第一條 \(0-1\) 邊。

    • 如果連自環,即在這兩個點間再加一條邊,那麼環數會增加 \(1\)\(0-1\) 邊數量會減少 \(1\)。機率為 \(\dfrac 1{A+B+C}\)

    • 如果這條 \(0-1\) 邊與另一條 \(0-1\) 邊相連,那麼 \(0-1-0-1\) 將合併成 \(0-1\),即 \(0-1\) 邊數量減少 \(1\)。機率為 \(\dfrac{C-1}{A+B+C}\)

    • 如果這條 \(0-1\) 邊的 \(0\) 與另一條 \(1-1\) 邊的 \(1\) 相連,那麼 \(1-0-1-1\) 可以看作 \(1-1\)\(1-1\) 邊數量減少 \(1\) 又增加 \(1\) 相當於不變,而 \(0-1\) 邊的數量減少 \(1\)。機率為 \(\dfrac A{A+B+C}\)

    • 如果這條 \(0-1\) 邊的 \(1\) 與另一條 \(0-0\) 邊的 \(0\) 相連,與上面類似,\(0-0\) 邊數量減少 \(1\) 又增加 \(1\) 相當於不變,而 \(0-1\) 邊的數量減少 \(1\)。機率為 \(\dfrac B{A+B+C}\)

    綜上 \(f(A, B, C) = \dfrac1{A+B+C} (f(A,B,C-1)+1) + \dfrac{C-1}{A+B+C}f(A,B,C-1) + \dfrac A{A+B+C}f(A,B,C-1) + \dfrac B{A+B+C}f(A,B,C-1)\)。化簡後是 \(f(A,B,C) = f(A,B,C-1)+\dfrac1{A+B+C}\)

綜上:

\[f(A,B,C) = \left\{ \begin{matrix} f(A-1,B-1,1) &,C=0 \\ f(A , B, C - 1) + \dfrac1{A+B+C} &,C \ne 0\end{matrix}\right. \]

你發現從 \(f(x,x,y)\) 開始 DP 能用到的 DP 狀態都滿足 \(A = B\),所以可以進一步最佳化成二維:

\[f(A,C) = \left\{ \begin{matrix} f(A-1,1) &,C=0 \\ f(A, C - 1) + \dfrac1{2A+C} &,C \ne 0\end{matrix}\right. \]