JZOJ5968.【NOIP提高組11.24】模擬A組

 PROBLEM

SOLUTION

  •  不難發現如下的性質:

     1.必須從小到大按順序消除所有數

     2.每一塊(這裏表示所有數值相等的集合)最後消剩一個數之前的二元組操作可以在之前的任意一個時刻進行。

  •  先考慮所有的a相等時的情況:設答案爲f[n],則有f[n]=f[n-1]*C(n,2)
  •  對於每一塊的答案我們可以單獨考慮:

Ans=Ans*flen*(\sum\binom{i-1}{i-L-3}*(len-i+1)+len)

  • 我們枚舉放在前面的這一塊的前面的數並在前面組合的個數(2~len),再通過擋板問題將(i-1)個二元組放在(L-1)個縫隙中的組合數,補上這一塊與前面匹配的選擇數(len-i)個以及選到前面的合併後的1個,最後加上i=0的情況即可
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章