CSP2019游记
Day -不知道多少
第一輪
題出得挺好,終于沒有鬼畜的CCF贊歌了
考得還行
Day -1
復習了Tarjan并偽證了一遍,然后頹廢了
安利E17大失敗
放了幾十個滿貫
給某同學科普了一些不好的東西,現在他好像自閉了 我謝罪
Day 0
繼續肝Tarjan然后想自閉了
于是寫了個左偏樹,調自閉了
下午看了今年的博客 發現鴿子本性暴露無遺,跟去年完全沒法比了……
看了幾篇題解,越看越內疚,就關了
不敢寫下去了
Day 1
(直接跳到發題)
密碼認真思考……emm……
打開題,一股表達式樹的氣息撲面而來
T1啥玩意啊
T2啥玩意啊
T3啥玩意啊
……
仔細讀題
T1好像是模擬
T2樹上括號匹配子串個數?
T3……?
8:30開始寫
把構造方法都告訴你了,模擬無誤……
模鬼啊,2642^{64}264
下意識地轉成二進制發現是個SB題,切了
8:45
T2一眼DP
用回文樹的思想亂搞一下……
然后越推越自閉
……先考慮鏈的情況
……發現沒什么區別
然后冷靜下來,重新推一波,推出了一個O(n4)O(n^4)O(n4)的優秀DP做法
開始思考括號序列的性質
情況復雜是因為兩個可以拼成一個
然后發現如果把一個不能拆分的合法子串稱為一個"基本串",那么一個位置結尾最多有一個基本串。
證明:
反證法,設某個位置結尾有兩個基本串,設為SSS,TTT,其中∣S∣≤∣T∣|S|\leq |T|∣S∣≤∣T∣
由基本串定義,TTT的前∣T∣?∣S∣|T|-|S|∣T∣?∣S∣位一定不合法
考慮括號序列的求法:將每個字符入棧
因為SSS合法,所以在棧中會消完,所以剩下的是TTT的前∣T∣?∣S∣|T|-|S|∣T∣?∣S∣位,和TTT合法矛盾。
然后用棧維護基本串在哪里,記錄棧頂和棧大小,回溯的時候還原
寫出來一發過小樣例美滋滋
……然后WA了中樣例
造一組小的測出來不對,調試發現棧頂寫成了棧大小……
修改后過了中樣例
測大樣例
激 寒 營 業 不 可 避
什么垃圾樣例啊
……然后爆棧了
……然后發現忘了擴棧命令
于是開虛擬機測過了
丟了不管了
9:40
T3一眼不可做
……暴力10分差評
想了個顯然的貪心,然后顯然掛了
思考了一下完全沒思路,10:20
騙分吧
先寫個O(n!)O(n!)O(n!)
鏈的情況好像可以直接貪心?
寫一波發現很精神污染
11:00
大腦一片混亂,于是上了個廁所(霧)
回來馬上發現可以分治(大霧)
寫出來不停WA,被排列過去映射過來搞暈了
把條理理清之后過了自己寫的樣例
……再測一組WA了
心態崩了,不寫了
11:30
開虛擬機編譯通過
……然后想起了擴棧命令
水過剩下30min
預計100+100+10=210
出來發現全世界都210
Day 2
由于寫這篇游記時隔太久,所以忘了很多細節
打開題面,一股硬核的氣息鋪面而來。
T1閱讀題 讀了半天讀懂了
T2顯然不是DP就是神仙貪心
草樣例三爆ull了啊
T3斷一條邊求所有重心標號和
感覺很可做,但就是不會做
這時
對于type=0type=0type=0的所有測試點,保證最后輸出的答案≤4×1018\leq4×10^{18}≤4×1018
你真棒
怎么比昨天還難啊……看來錯怪D1T3出題人了
開始肝T1
……相當于每行最多選1個,每列不能過半,貢獻為選的所有數的積,求總貢獻
顯然DP
數次讀錯題,一直在想怎么把所有列的信息壓縮,怎么都退不出來
到9:30
……10點鐘想不出來就打暴力吧
腦子一閃,注意到“不能過半”,這個性質一直沒用
會不會有什么特殊性質?
不能過半什么意思?就是比其他加起來都多
也就是最多只有一列過半!
然后容斥就可以了!
設f(i,j)f(i,j)f(i,j)表示當前在第iii行,最多的一列選了jjj個的方案數
寫了一半發現完全假了,要確定哪一列最多
設f(i,j,k)f(i,j,k)f(i,j,k)表示當前在第iii行,第jjj列選了kkk個的方案數
寫出來死活過不了樣例
唉……?
好像某一行可以不選
可是不選的不統計入總數啊
于是極其硬核地設f(i,j,k,l)f(i,j,k,l)f(i,j,k,l)表示當前在第iii行,第jjj列選了kkk個,一共選了lll行的方案數并推出了極其硬核的方程
iii滾一下就可以了 復雜度O(n3m)O(n^3m)O(n3m) 可能卡得過去?
然后寫出來極其硬核的代碼,還是過不了樣例
10:00
上個廁所,回來一眼就發現下標輸錯了(彌天大霧)
然后順利過了所有樣例
然后造一組極限數據T了
重新算一下,過得了才有鬼了……
于是只有84分 感覺很近了,但就是想不出來
10:30 棄了
后面只能暴力了……
T2推了一下毫無進展,于是直接O(n3)O(n^3)O(n3)dp艸36分走
T3直接暴力拿40,然后鏈似乎很好做 共計55
(實際上后面完美二叉樹也水得要死)
預計84+36+55=175
那我上不了400啊……
粗略看了一下好像水不了多少分了
于是Linux編譯測空間走人
–End–
公無渡河。
公竟渡河!
渡河而死;
其奈公何!
總結
- 上一篇: 好听简单的女生网名 好听简单的女生网名大
- 下一篇: 中国清朝康熙皇帝历史