我的博客里竟然有一天能出現這樣一篇游記。
Day -1
沉浸在 noip 爆炸的悲痛中無法自拔個鬼,放飛自我不香嗎。
由於今天滾回了學校,於是被迫咕掉了 Global Round ,然而事實證明這可能是個正確的選擇。
恭喜 jiangly 進首頁! orz orz orz
Day 0
早上六點起床趕八點飛機,到北京十一點半左右。
然后地鐵+打車來到酒店(差點把手機落在車上),然后去吃飯,在餐館膜到了 zjk 並被一股假的氣息嗆死了。
下午開幕式並沒有說什么,然后成功切掉兩道試機題。
晚上被教練拉出去吃飯,遇到了好多好多大佬 /se
回到酒店之后就沒干什么了,把想了一天的兩道 GR 題寫了,然后發現這兩題好像難度不超過 2300 ……
室友神仙作息, 9:45 關燈睡覺。然而我還是咕到了 10:00 。
Day 1
室友神仙作息, 6:30 起床。然而我還是咕到了 7:00 。
搞了搞發現就七點半了,趕緊下去吃飯。早飯看起來挺不錯的,可惜沒時間吃太多。
到考場,真正坐下的時候已經 7:58 了,於是趕緊開始寫板子。
T1
一張帶權無向圖(初始只有一個點),一條路徑的權值是 k 進制不進位加法,允許經過一條邊多次。要求支持加點、加邊和詢問兩個點的最短路。\(Q\le 2\times 10^5\) 。
T2
給一棵樹和 n 個點的一個序列,每次詢問會拉出若干個序列的區間連在一起得到一個新序列,問這個新序列中有多少個點滿足 在自己前面的點都在自己的子樹內 。 \(n,m,Q\le 7\times 10^5\) 。
T3
交互題。有一個有根二叉樹,你可以詢問一個點集的虛樹大小,來判斷這棵樹的形態,或是判斷無法確定形態。
虛樹的定義是任意兩個點的 \(lca\) 組成的集合。
subtask1 : \(n\le 500\) ,保證每個點要么沒有兒子,要么兩個兒子,詢問次數 4500 。
subtask2 : \(n\le 1000\) ,無特殊限制,詢問次數 10500 。
開 T1 ,發現好像是個線性基裸題?想了想雖然不太會證明但感性理解是對的。
開沖。
沖了兩個小時發現了事情的嚴重性:我竟然不會模合數的線性基……
滾去看 T2 ,發現好像不難。寫了 30min 寫完了,然后調幾個 sb 錯誤調了 30min ……
此時 48+100+0 且只剩 1h 了,決定放掉 T3 改 T1 。寫了個對拍之后開始意識流調錯。
最后 2min 獲得了 \(48\to 89\) ,自閉了。
這 89 竟然是 WA 了第二個包而過了最后一個包,也是神奇的很。謝謝出題人不殺之恩。
大概排到了 20~30 名,退役已經在招手了。
下午回酒店浪,然后聽講題,然后回酒店睡了一覺,然后去吃飯。從出酒店到坐下開始吃竟然花了 1h 。
晚上摸魚。
Day 2
基本同上。
進門的時候人臉識別掛掉了,不給我進去 /fad
T1
定義一個序列的價值為:重排之后,相鄰兩個元素的差的絕對值之和,的最大值。
給定一個序列,多次詢問一個區間的價值。 \(n,Q\) 是 \(10^5\) 級別。
T2
從 \((0,0)\) 開始隨機游走 \(n\) 步,每步等概率走到一個曼哈頓距離小於等於 1 的點,求最終 \(|y|\) 的期望。 \(n\le 5\times 10^6\) 。
T3
給一個 \(n\) 個點的競賽圖,對於每一條邊,求出翻轉它之后強連通塊個數。 \(n\le 5000\) 。
開 T1 ,顯然左右橫跳最優,推了下細節就過了。
開 T2 ,顯然可以轉化成 \(2n\) 個 \([-{1\over 2},{1\over 2}]\) 的隨機變量的和的絕對值的期望,然后就不會了。嘗試寫暴力找規律然而沒找出來。
開 T3 ,想到根據出度序列求強連通塊之后就好做了,寫了寫調了調也過了。
這個 T2 總感覺是個套路題,於是瘋狂回憶套路。莫名其妙就想起來了,然后大力找規律就找過去了。
就莫名其妙地 AK 了,然后提前離場去逛未名湖。
然后和昨天也差不多,不過晚上是和兩個學長&教練&dqa出去吃。
Day 3
基本同上。
人臉識別又好了 /fad
T1
給一個排列 \(q\) 和一個整數序列 \(h\) ,定義一個排列 \(p\) 的價值為
求價值是偶數的排列個數。 \(n\le 300\) 。
T2
對一個序列進行一次操作:選擇 \(a_{i-1}<a_i<a_{i+1}\) ,然后把 \(a_{i+1}\) 丟到 \(a_{i-1}\) 左邊,即循環移位。
定義一個序列是好的,當且僅當它可以由一個上升序列經過若干次操作得到。
給一個排列,多次詢問最長合法后綴有多長。每次詢問前會先交換排列的兩個位置。
\(n,q\le 10^5\) 。
T3
維護一個有根樹森林,支持連邊斷邊和求所有重鏈的價值中的第 \(k\) 大。重兒子就是子樹 size 最大的兒子,有多個就選重鏈上 max 最大的那個。重鏈價值定義為所有點編號的異或和。
\(n,q\) 是 \(10^5\) 級別。
看 T1 ,不會。但旁邊人好像都切了。做了 40min 啥也不會之后滾去看 T2 。
看 T2 ,很快推出 \(O(nq\log n)\) 做法,然后發現不能用樹套樹優化,於是棄了。
看 T3 ,這顯然不是給人做的,編了個 30pts 做法就跑了。
然后一直做 T1 但啥也沒做出來。
50+60+20 恥辱離場,被打爆了。出來一看人均 T1 ,還不少人過 T2 ,我裂開了。
總排名掉到第十了 /kk
Day 4
基本同上。
T1
對於一張以 \(s,t\) 為源點匯點的有向圖,定義它是好的,當且僅當
- \(s\) 沒有入度, \(t\) 沒有出度。
- 其他點的入度出度恰好為 1 。
給定一張有向圖和 \(s,t\) ,對於每個點 \(u\) ,求出包含 \(s\to u\) 的好的子圖的個數。
子圖是用邊集定義的。
\(n\le 22\) 。
T2
\(n\) 個人坐成一個環,每個人 \(i\) 可以選擇不甩鍋(代價為 1 ),或是用 \(w_j\) 的代價甩給第 \((i+j)\text{ mod } n\) 個人,要求不甩出環。一個方案的代價是每個人的代價相乘。
求所有方案的代價之和,模 998244353 。
\(n=2^m,1\le m\le 20\)
T3
給定 \(G=(V,E),|V|=n,|E|=m\) ,你要構造 \(H=(V',E'),|V'|\le N,|E'|\ge M\) ,使得 \(H\) 的任意一個子圖都不與 \(G\) 同構。
subtask1 (5pts) : \(G=K(3),M=\lfloor N^2/4\rfloor\) 。
subtask2 (10pts) : \(G=K(n),N\ge 50,M=\lfloor (1-{1\over n-1})N^2/2\rfloor-1\) 。
subtask3 (10pts) : \(G=K(2,2),M=2N\) 。
subtask4 (15pts) : \(G=K(2,2),N=p^2,M=p^2(p-1)/2\) , \(p\) 為一奇質數。
subtask5 (30pts) : \(G=K(2,2),N=2850,M=72900\) ,有部分分。
subtask6 (30pts) : \(G=K(3,3),n=7^3,M=O(7000)\) (記不清楚了),有部分分。
大概花了 1h 過了 T1 ,然后開始自閉。
T2 寫了爆搜和 \(w\) 相等的分之后就不會了,完全不記得自己原來還會矩陣樹定理。
幾乎玩了一整場的 T3 ,玩過了前三個包,后兩個包直接隨機拿了 40 分。
出來發現 rank18 , dls 2h 就 AK 了,被打傻了……
T2 又過了一車,不過即使我想起來矩陣樹定理也就多拿 20pts 而已,沒啥辦法。只能靠 T3 的隨機 40pts 挽回一點顏面。
總排名掉到了第 11 。
我好菜啊……
總結
打完四場(算上 noip 五場),感覺頭有點暈。
Day1 暴露出我沒有數論基礎,同時交互也沒有任何思路。
Day2 不知道怎么就超常發揮了,大概是繼 noi 之后打得最好的一場,但也只是剛好撞上兩個知識點而已。
Day3 打了一坨*,不會行列式&不會數據結構&不會模擬。
Day4 中規中矩,靠亂搞拿分,結果把矩陣樹定理忘了,同時也沒有線代基礎。
排名靠 Day2 強行撐着,但其實就是菜。
學到現在,還是啥也不會,稍微偏一點的知識點就一頭霧水,更別說往哪個方向做稍微深入一點的研究了。
對 OI 的興趣,或許只是停留在 atcoder 的人類智慧題上?
考慮一下提前退役,然后學數學。