JSOI2022退役記
本來是清明節考的,但是由於疫情推遲了兩週,苟活.jpg
day 0
隨便打了打板子,好像巧了些maxflow,fft,tarjan,快讀
下午去試機,突然發現是linux only,晚上惡補了一下
day 1
凌晨五點半就行了,還頭疼(寄)
到了吹了會水,然後就進場了,鍵盤滑鼠都挺差的。
T1開場大模擬,心肺驟停
T2一眼了40分,口胡了下正解
T3,你媽什麼魔怔題,看起來和尤拉路或者網路流有關
寫T1,寫一半電腦宕機了,幸好我有邊寫邊儲存的習慣,而不至於jyy來幫我重啟linux時程式寄了。
一半的寫法看起來可能是五次方的啊,然我我改了個重標號建圖的做法,但是沒發現#define a 這種會出問題
T2沒花多久就寫完了40pts,想想後面的插值不是特別好些,遂放棄
然後寫T3,先寫了個狀壓的8pts,分少的可憐,後面寫了20pts的輸出樓上樓下個數,想寫那檔分的構造的,但是沒寫出來
出考場以為day1 100+40+28=168
但實際是20100+40+28=88168
需要攢波rp
day2
已經沒有什麼好害怕的了,緊張的情緒少了不少
早上到也是先吹了會水。
開題,T1看起來是個根號分治,但是具體怎麼搞還不是很懂
T2括號序列,一生之敵。
T3看到只有一個小樣例,我也沒啥思路,遂潤。
開T1,發現一個數只能有一個>sqrt的質因子,所以可以分類,然後關於小質因子是個or卷積形式
寫出來一個\(O(\sum c * 2^{14} * 14)\)
手造幾組樣例發現掛了,實際是因為有些大質因子的貢獻,我沒有計算。
發現實際是個帶刪除的fwt,顯然fwt後的按位乘是好撤回的。
這樣子正確性對了
但是顯然並不能拿到非常多的分
首先正fwt時,只有兩項,我們可以手動展開
逆fwt時,我們只需要根據組合意義去容斥,就能少個log
然後再是刪除,我們要求2^14個數的逆元,需要一個線性求逆。
這就是我考場上寫的\(O(\sum c*2^{14})\)
考完後知道43實際也是小質數,複雜度可以除個2
T2發現4,5是數逆序對。
寫了一下T3全排列。
然後最後衝了個T2的12分全排列+最短路狀物
最後就去檢查了
出考場期望得分100+20+12=132,pmt好高啊,我寄了
兩天加起來最多100+40+28+100+20+12=300,已知day1T1掛了,希望其他題不要掛/被卡常