CSP-S2024 遊寄

Supor__Shoop發表於2024-10-27

上午放鬆了一下。

中午吃完飯就來到了科技樓,我猛然想起自己忘了 \(\text{tarjan}\) 怎麼打,於是趕緊問了智力。

來到考場,發現周圍還是有一群 XXS,希望他們可以拉低一下 1= 線。

考前安慰自己:沒事沒事,出事了也逝不了,只要不保單就行了。。。

T1

智障題。亂搞一下就過了。

用時:3 min

T2

我應該是這個世界上唯一一個不會貪心的人吧。

第一個問題是顯然的。第二個問題我猛然意識到好像是哪裡見過的貪心題(賽後證明是這樣的,我是人機)。但是我不會貪心啊!?

所以該怎麼辦呢?我尋思著問題就是讓每一個 \([l_i,r_i]\) 中都至少存在一個 \(1\),即 \(sum_{r_i}-sum_{l_i-1}\geq 1\),這不神筆差分約束嘛?雖然說差分約束是構造解,但是正確性應該還是可以保證的,因為最後得到的 \(sum_0\) 其實就是我們要減去的數。然後就套了字首和的差分約束,接著就發現最後一個大樣例 T 飛了,關於 \(\text{SPFA}\),它死了。本來想試一下雙端佇列最佳化 \(\text{SPFA}\),但是我還是不會,我嘞個豆,我怎麼什麼都忘了??

為了更快,把差分約束的物件離散化之後手搓了幾個大樣例,發現應該是能穩過 \(80pts\),剩下的看天命了,只好把它當個好的分數然後跑掉。

賽後發現人均 A 了 T2,欲哭無淚啊。。。

用時:1.5 h,硬要說的話,應該是 2h+ 了,因為 \(\text{SPFA}\) 整 emo 了。

T3

秒了,但是 \(O(Tn\log n)\)

看到題之後,感覺很典啊!一眼 \(dp_{i,j}\) 表示搞定了前 \(i\) 個數,最後一個與 \(i\) 異色的點在 \(j\) 的最優解。亂玩發現:

  • \(j<i-1\),則 \(dp_{i,j}=dp_{i-1,j}+[a_i=a_{i-1}]\times a_i\)

  • \(j=i-1\),則 \(dp_{i,j}=\max\{dp_{j,k}+[a_i=a_k]\times a_i\}\),即 \(dp_{i,i-1}=\max\{dp_{i-1,j}+[a_i=a_j]\times a_i\}\)

時間複雜度是 \(O(n^2)\) 的。但是可以把 \(dp_i\) 直接拍到一棵線段樹上。對於第一類轉移直接區間加。對於第二類的轉移,最開始愣了一下,然後發現同一種顏色中,下標最靠後的 \(j\) 對應的 \(dp_{i,j}\) 一定是最優的,因此可以存一下每種顏色當前最靠後的位置,但是要注意這個 \(j\) 轉移的時候是 \(\leq i-2\) 的。

大樣例可以過。但是它不滿。但是我不想手搓大樣例(為我的 GG 埋下伏筆)。

賽後鹹魚說 T3 會被卡 log,但我尋思著嚴格的 \(O(Tn\log n)\) 怎麼死?可能說的是其它的解法吧。他要卡我 log 不可能只開 \(n=2\times 10^5\),而且 CCF 的機子很快,根本不怕的好吧。

update:真的寄了,以後再也不隨意用 map 了,以後線段樹修改的時候再也不跑 \(\Delta=0\) 的修改了QAQ!QAQ!

用時:大約 15 min

T4

沒啥好說的,反正我不會。

本場另一個最大的失誤就是這道題衝了個偽正解,結果 1h 後發現假了。

最後本來打的是 \(40\) 分的暴力,但是特殊性質 \(B\) 掛了,調不出來,然後就只有 \(28\) 了,我要寄了!!!

用時:你用 4h 減去上面的時間就知道了。

結束

等了半天終於出去了。

估分 \(100+80+60+28=268\),發現人均 300+,感覺我應該是 ber 中墊底了。

以及我發現人均 T2 是真的,我是 joker 了。。。

我愛 T3。算是給我實打實來了一次直戳人心的教訓。

相關文章