AGC 001 題解
阿新 • • 發佈:2022-03-07
\(A:\) 排序模擬
\(B:\) 規律題,答案就是 \(3(n - gcd(n,x) )\).
\(C:\)
如果 \(m\) 是偶數,列舉直徑的中點 \(k\) ,那麼 \(dis(k,i) \ge \frac m 2\) 都要被刪去,通過一次 \(dfs\) 找出。
如果 \(m\) 是奇數,列舉直徑的中間邊\(E\) ,從 \(E\) 的 \((u, v)\) 兩個節點開始 dfs。
\(D:\)
我們根據題目給出的迴文串的劃分,將兩個相同的字元之間連邊。
那麼有解的充要條件就是圖連通,所以 \(a_i\) 中奇數的個數不多於 \(2\) 個。
因為奇數迴文串會少連一條邊,而圖聯通時至少是一棵樹,此時有 \(n-1\)
考慮構造方案肯定是要把整個序列交錯開來,我們先把兩個奇數放在原序列的兩端,輸出此時的序列。
再將 \(a_1 = a_1 +1\) , \(a_n = a_n -1\) ,此時的 \(a\) 就是 \(b\) 陣列。
發現這樣本質上是一個平移,恰好可以使得序列交錯。特別的要注特判 \(n = 1\) 的情況。
\(E:\)
求 \(\sum_{i=1}^{n} \sum_{j=i+1}^{n} \binom{a_i+a_j+b_i+b_j}{a_i+a_j}\)
根據組合意義,\(\binom{x+y}{x}\) 可以表示在座標系上只能向上和向右走從 \((0,0)\) 走到 \((x,y)\)
那麼 \(\binom{a_i+a_j+b_i+b_j}{a_i+a_j}\) 則表示 \((-a_i,-b_i)\) 到 \((a_j,b_j)\) 的方案數。
設 \(f_{i,j}\) 表示以 \((i,j)\) 作為結束點的總方案 ,所以 : \[f_{i,j} = f_{i-1,j} + f_{i,j-1} + sum_{i,j} \]
\(sum_{i,j}\) 表示有多少個 \(k\) 滿足 \(-a_k = i\) 且 \(-b_k = j\)。
然後減去每個 \(i\) 自己對自己貢獻然後除以 \(2\) 就是答案。