AGC 054 (A~E) 題解


AGC 054 (A~E) 題解

A

  1. \(s_0\neq s_1\)則,答案為\(1\)
  2. 若存在\(i\),滿足\(s_i\neq s_0\and s_{i+1}\neq s_0\),則答案為\(2\)
  3. 否則答案為\(3\)

B

首先一個合法分組和一個排列有着一一對應關系,所以只需要統計有多少分組。

然后乘上兩邊數量的階乘即可。

C

首先考慮如何操作數最小。

一定是任意選擇一個位置其中有\(>k\)個在他前面比他大的數。

然后將他往前移動,直到恰好有\(k\)個比他大的在他前面。

可以發現這樣的排列是確定的。

dp的時候只需要從前往后dp,考慮把前面的數往后帶。

其中一個數能往后帶的條件是1. 恰好有\(k\)個比他大的在前面 2. 后面一個比他大。

然后往后帶的數會放到一些不往后帶的數的后面。

時間復雜度為\(O(N^2)\)

D

首先\(o,x\)之間的相對位置不變。

\(()\)一定是按照最優匹配(與\(ox\)無關)。

所以可以考慮\(dp\),轉移的貢獻為逆序對數。

E

假設\(a_1<a_n\)

一個數列是好的,當且僅當存在一個位置\(i\),滿足\(a_i\leq a_1\and a_{i+1}\geq a_n\)

證明:

考慮倒着歸納,首先初始一定是\(x,y(x<y)\),滿足條件。

對於一個滿足條件的序列如果插入元素的位置\(\leq i\or > i+1\)則不影響,否則在\(i,i+1\)中間一定任然滿足條件。

考慮不滿足上述條件的序列個數。

可以把數從小到大填。

設結尾是\(A+k\),假設\(k\geq 2\)

  1. 填入\(A+1...A+k-1\),有\((k-1)!\)個方案。

  2. 填入\(1...A-1\),有\(\frac{(A+k-3)!}{(k-2)!}\)個方案。

  3. 填入\(A+k+1...N\),其中不能在某一個\([1...A]\)的右邊,有\(\frac{(N-A-2)!}{(k-2)!}\)

總共\((A+k-3)!(N-A-2)!(k-1)/(k-2)!\)

答案即為\(\sum_{2\leq k\leq N-A} (A+k-3)!(N-A-2)!(k-1)/(k-2)!=(N-A-2)!\sum_{2\leq k\leq N-A}(A+k-3)!(k-1)/(k-2)!\)

\[= (N-A-2)!\sum _{0\leq k\leq N-A-2} (A+k-1)!/k! (k+1)\\ = (N-A-2)!\times (A-1)! \sum _{0\leq k\leq N-A-2} {A+k-1\choose k}(k+1)\\ = (N-A-2)!\times (A-1)! \sum _{0\leq k\leq N-A-2} [{A+k-1\choose k}k+{A+k-1\choose k}]\\ = (N-A-2)!\times (A-1)! \sum _{0\leq k\leq N-A-2} [A{A+k-1\choose k-1}+{A-1\choose k}]\\ \]

其中\(\sum_{0\leq k\leq B} {A+k\choose k}\)是一個經典問題。

他的封閉形式如下:

\[\sum_{0\leq k\leq B} {A+k\choose k}\\ =\sum_{k\leq B} {A+k\choose A}\\ ={A+B+1\choose A+1} \]

可以這樣理解\(\sum_{k\leq B} {A+k\choose A}\)為組合數矩陣的\(A\)\(A+B\)行的第\(A\)列的和。

由於\((x,y)+(x+1,y)=(x+1,y+1)\)

所以最終恰好就是上面的值。


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM