NOI2021 游記


希望不是退役之戰(((

因為台風的原因,日程表出現了奇妙的變化,所以以 7.23 從廣東來到浙江這天作為 Day -1 ,以 7.24 試機賽作為 Day 0 。

Day -1

早上八點坐上了從廣東到浙江的高鐵。先頹廢了一會,然后補昨天的 決策單調性和四邊形不等式 。

發現這東西奧妙重重,被打爆了。

期間多次滾去咨詢 Itst ,發現自己確實非常 sb 。

下車的時候發生了有趣的事情:收拾東西的動作稍微慢了一點,還沒走到門口就已經有四五個人上車了。我有點慌,於是直接把箱子舉起來擠了過去,而后面的 ntf 不僅動作更慢還更禮貌,於是被堵在車里,最后關門之后也沒有成功出來。

我 在 外 面 , ntf 在 里 面 。

並沒有重新開門,於是 ntf 被送去了下一站。

下午和晚上沒有太多有趣的事情,就不寫了。嘗試去 gd 其他宿舍串門,結果發現大部分都不認識,於是自閉。

晚上一不小心搞到大約 12 點才睡覺。發現 dqa 真是規律作息的神仙,早早就睡下了。

Day 0

早上 7 點被起床鈴搞醒,很沒精神。

做好了躺一天的准備,於是上午嘗試用 python 做一下前天的 CF 。

寫完 A 之后就自閉了。

多 重 影 分 身

做了道 mld 給的題,並把它推給 zz 搞他心態,似乎成功了。(?)

中午吃飯的時候得知下午考筆試,當場爆炸,滾回宿舍背筆試。

筆試沒太多好說的,不過似乎 ntf 又沒 ak ?擱這給后兩天攢 rp 呢?

明天似乎還是可以躺一天,問題不大。

Day 0.5

NOI2021.rp++;

Day 1

希望不是退役之戰(((

一 口 好 奶

很煩,題目也垃圾,我也垃圾。

如果后天能好好打就回來更新,否則就退役算了。

掛分原因:T2 數組開小,並且因為奇奇怪怪的原因,本地造的極限數據也沒把它搞 RE 。

update:看起來沒有退役,那就回來更新。以下是稍微完整一點的版本。


Day 0.5

不太記得了,大約就是隨緣復習&做題。

上午先不知道干了什么,然后想起來還有麥老大丟過來的一道牛客多校的數據結構沒做,於是去想。

先迅速想到 \(O(n\log^3 n)\) 的枚舉倍數+點分+二維偏序,然后發現這就能過了?大受震撼.jpg

然后冷靜了一下發現這個樹形結構似乎可以用更優美的方法加以利用,並且 \(\sum (n/i)^{1.5}=O(n^{1.5})\) ,於是決定拿分塊亂搞。發現用分塊消掉區間的限制之后可以用並查集利用樹形結構,於是獲得 \(O((n\alpha (n))^{1.5})\)

然后 zjr 提醒我完全沒有用到分塊的啥性質,改成線段樹就 \(O(n\log^2 n\alpha (n))\) 了。

然后發現修改和查詢不太平均,於是把線段樹改成多叉就 \(O({n\log^2 n\alpha(n)\over \log\log n})\) 了。

感覺一個上午過的非常愉快。

下午繼續隨緣復習&做題,不太記得干了什么。

晚上先看 uoj 群里在討論擬合 \(xy=n\) ,於是復習了一下 SB 樹二分。然后找 cmd&cdw 玩,順便再做了 uoj 群里的一個字符串。最后又做了 cmd 推的一道構造,感覺心態穩健。

十一點左右睡覺,躺了 0.5h 才睡着,不太舒服。

Day 1

挺緊張的。

因為台風原因,比賽延遲開始,所以 7:45 才出宿舍。

比賽開始,嘗試用鍵盤,發現屏幕怎么都不亮。叫了工作人員發現屏幕沒開(

先碼板子,然后看 T1 。這個 T1 不是樹剖裸題嗎,我直接記錄重邊是重兒子還是輕兒子&%&…&^%…¥…%

直接開沖,然后寫完樹剖和線段樹之后想起來一個點好像可以有兩個重兒子……

險些心態爆炸,不過立刻想到了染色做法,改了改就過了。此時大約 1h 。

看 T2 。自閉了一段時間之后觀察公式 \(\text{sgn}(P_j-Q_{j})\cdot \text{sgn}(P_{j+1}-Q_{j+1})\) ,突然發現對於 \(j\ne 1,K\)\(\text{sgn}(P_j-Q_{j})\) 好像總是會貢獻兩遍,抵消了?

冷靜一下發現確實只和起點終點的位置關系有關,那不就是 LGV lemma 裸題嗎。寫完過大樣例大約花了 0.5h 。

發現這個大樣例怎么小的離譜。自己造了一個滿的數據,發現要跑 4s 。不過把取模優化掉之后就只有 0.4s 了。

(我還是不懂為什么這里沒有 RE 。)

上個廁所冷靜一下。我還有 3.5h ,一個 T3 你能秒我?

似曾相識的局面並沒有出現,迅速發現 T3 縮點之后是一棵樹,然后就基本上只剩分類討論了。

錯誤地以為只需要判能否到達,於是直接開始碼。又是快碼完的時候想起來要統計所有能到的點的個數……

冷靜一下發現建個虛樹就完全不用分類討論了。寫完又是直接過大樣例,大約花了 1.5h 。

開始思考能否提前離場

然后大力對拍,三題各拍了 1000 組,其中 T3 拍的甚至是 \(k=10\)

非常作死地等到 T3 拍完 1000 組才去測 T1 極限數據,結果發現三棵滿二叉樹跑出了 1.077s 的好成績。

還剩 0.5h ,心態炸裂。完全找不到能卡常的點。

最后想起來可以把線段樹的傳參放外面,改完一測發現 0.985s 。松了一口氣,然后發現距離比賽結束還有 30s ???

抉擇之后決定穩一手,不改提交文件。然后比賽就結束了。

賽時草稿紙:

出來一問發現人均 ak ,但是 gd 沒聽到有人能 ak ??gd 弱省實錘了。

下午查分的時候也很緊張,結果還沒等打開電腦教練就告訴我只有 285 。當場死亡.jpg

竟然不是 T1 卡常?竟然是 T2 開小數組了?

人傻了,后面心態非常爆炸。

晚上看混雙還輸了,自閉。

這個 day1 考的什么垃圾(

zjr T1 被卡常,於是 75+75+100=250 ;dqa 本來寫了 264 ,結果 T2 高斯消元寫掛過了大樣例,然后掛了 45 ……

ntf 236,zz 230,cdw 256 ,大概就在隊線上下。

Day 1.5

day1 掛分了,於是心情低落。室友考得也不好,宿舍充滿了頹廢的氣氛。

(整個宿舍只有 zjr 打游戲,那么頹廢的氣氛究竟是哪來的?)

聽說 day1 有 30+ 個人 AK ,但是因為某些奇妙的原因我並沒有相信(可能是因為旁邊的人都考的不怎么樣),所以心態還沒有太過崩潰。

做了下 Day0.5 的 CF ,做的速度極為緩慢,偏偏還有個 zz 做得飛快,還附帶搞心態效果,自閉自閉自閉。

一天不知道干了啥就過去了,啥也沒復習。

晚上還是去找 cmd 玩耍,噴了噴 day1 出題人,再做了 cmd 一道詐騙題,勉強回復了點信心。

Day 2

還是很緊張。day1 考了和沒考一樣,但是狀態已經掉完了。

開 T1 ,發現這個題看着就很原。想了幾種分段的方式,發現分 16 段非常合理,然后直接開沖。

寫完發現又沒有極限數據,造完一測發現 2.2s 。又裂開了。

丟到后面再去卡,先不管它。此時大概過了 1h 。

然后開 T2 。wdnmd 怎么還有數據結構?

自閉 30min 之后發現就是直接維護連續段,然后發現維護連續段巨大惡心。

先寫了一個 struct ,然后拼在暴力上過了樣例。然后寫 fhq treap 。

寫完大約過了 2.5h ,還是一遍過大樣例。然后感覺不太穩,把暴力改成模擬,再寫了個對拍,然后就 3h 了。

還剩 2h 搞 T3 ,有點慌。並且碼完 T2 的 200 行也挺累的。

然后就自閉了。滿腦子 fmt 就是想不到從左往右 dp ,我大概是個 sb 。

最后 1h 決定寫暴力。先看了下 T1 ,感覺沒法卡常。然后就碼 T3 \(n\le 16\) 的暴力。

差不多壓線寫完了。還有不存在 R 的點沒時間寫了。

賽時草稿紙:

出來發現並沒有人均 ak ,但是群里都在說 T3 是 sb 題,於是開始慌張。

學弟打得都不怎樣。zjr, dqa 也一般。

沒啥心情吃飯,回宿舍自閉。和麥老大交流了一下得知自己是個 sb 。

這屆 NOI 往前五年以內最爛穩了,往后不知道有沒有更爛的。

T1 被卡掉 4 分,沒有掛別的。希望 cdw,zjr 也能平安進隊吧。

update:cdw,zjr 都進隊了,zz,ntf day2 過於白給只能打銀。dqa 太慘了啊……

下午五點多出榜了,發現自己竟然還能有 rk7 ??

zjk hehezhou 太強啦,完全打不過。

吃完飯到處亂逛。

Day 3

頒獎典禮。

已經是高二退役選手了,明年的華師大二附中看不到了……

如果 day1 沒有掛分,並且 d2t3 暴力再打滿一點,大概就能苟進前三了,有點遺憾。

祝 cdw,zjr 在集訓隊訓練中繼續爆錘我;祝 dqa 高三一切順利,早日會師北京。

晚上的飛機從六點半晚點到十二點,裂開了。

Day 4

把 D2T3 過了。

感覺不太會做這種題……一是場上降智,沒想到 R 較少的時候可以直接從右往左 DP ;二是因為 \(O(\text{poly}(n,m)2^{n/2})\) 的做法到處飛,但是要能做到 \(O(m2^{n/2})\) 就沒那么簡單,導致換了幾種做法才找到一個能用的。

說下我的做法吧:

枚舉最左邊的 p 是 pos 。那么所有 <=pos 的 p 都必然不會爆掉,而 >pos 的 p 不關心。
1. pos<N
	只關心 [0,N) 的 p 的合法性。
	直接枚舉合法 p 集合,求出方案數,然后再套個容斥。
	方案數怎么求?枚舉 1<=i<=m ,看這一堆 p 限制了 “對應位置相同/相反”、“對應位置 Y_i=0/1” ,然后算方案數。
		(注意,如果當前集合的最大的那個 p 會爆掉,那么這個 i 無用。)
	具體地:如果有相反的限制,那么貢獻為 1 ;否則如果各有一個限制則貢獻為 2 ;否則必定有一個限制,貢獻為 3 。
2. pos>=N
	枚舉 pos ,把會爆掉的行刪掉。
	一個位置的限制只會影響 n-pos 個 p (除非這里 X_i!=Y_i ,則會把前面很多都限制掉)。
	從后往前 DP ,設 dp_{i,s} 表示確定了 [i,n) 的 X,Y ,[i-(n-pos),i] 的合法性是 s ,的方案數。
	i-(n-pos) 也代表了所有 <i-(n-pos) 的位置的合法性,因為它們只關心后面 X!=Y 的位置。
	i=pos 的時候強制這個位置合法;i<pos 的時候強制這個位置不合法。
	轉移直接無腦 FMT 。 

最后喜提 LOJ 目前最劣解(各種意義上):https://loj.ac/s/1205081


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM