11.23 CodeTON Round 9 (Div.1 + Div.2)
Solve : A~E (5/8)
Rank : 227
Rating : \(2350+46=2396\)
Perf : 2534 | 2533
發揮評價:Normal
差一點……
C1 忘開 long long 吃了一發,E 做得稍微久了一點,一整場都沒會 F1。
plz.
CF2039E
感覺不只 *2200。
一個序列,初始為 \([0,1]\),每次可以把 \(k\) 插入序列中,其中 \(k\) 是當前序列逆序對數,求能產生多少種不同的長為 \(n\) 的序列(注意不同的產生同一種序列的方法算一種)
發現 \(k\) 只增不減,所以一直在插入序列最大值,接著,發現插在結尾不影響最大值數量,插在中間就一定會影響。
於是我們發現序列的值不影響接下來的方案數,長度才影響。
\(dp_i\) 記錄 \(i\) 長的方案數,轉移形如先結尾放一段最大值,再在 \(i\) 個位置中任選一個插入,故可以轉移到任意 \(j>i\),考慮字首和最佳化即可。
但是注意到有時不同位置插入會得到相同的結果,只會出現在插入不是嚴格最大值的時候,仔細一想只有最開始的序列出現這種情況,減掉就好。