Day 998244351
學了一下 NOI Linux 2.0
的使用,防止賽場上出現不知道如何操作的情況。
vscode 真好用!
Day 998244352
嘗試補了點模擬賽的題目,實際上並沒有補掉多少。
又熬到了十二點鍾才睡覺。。。省選前一天再這樣就寄了。。。
Day 0
上午打了點板子,包括費用流,AC 自動機,FWT,PR,FHQ Treap 和線性基。
奶一口明天不會考(我都不會)的算法:任何形式的計算幾何(包括但不限於二維凸包,旋轉卡殼,閔可夫斯基和,半平面交),回文自動機,樹分塊,LCT,Min25 篩,杜教篩,最小樹形圖,保序回歸。
奶一口明天會考的算法:DP 計數模 \(998244353\) 或 \(10 ^ 9 + 7\),樹上 ds,貪心。
今天下午五點試機,鍵盤和鼠標都挺好用。打了 BIT,SA 和 Pollard - Rho,Miller - Rabin 寫掛調了好長時間。
已經很久沒有體驗到賽時切難題的快感了,希望明天能體會一下。
聯合省選 JSOI2022 rp++。
Day 1
早上八點二十進考場。配了一下 vscode,查看下發試題。
開幕雷擊,T1 大模擬,我的評價是 *** 准有些大病。讀完題目發現並不算難寫,打算開沖。
寫到九點鍾過了所有樣例,並沒有寫對拍或者構造極限數據。於是丟掉看 T2。
T2 一看這個數據范圍以為是矩陣快速冪,想了半個小時,發現這玩意是若干個一次函數和常數相乘,大力拉格朗日插值,還要寫換根 DP。
於是寫寫寫,寫到十一點半還沒調出來,這個時候 T3 還是零分,頓時感覺要寄,趕緊丟掉 T2 看 T3。
沒腦子想 T3,一點思路都沒有,甚至沒有看到白送 20 分。
轉戰 T2,一直調到十二點十分左右終於過了前 70 分。一測極限數據,好家伙,十秒鍾。T2 只有 28 分,這不是要寄的節奏么。趕緊卡常,卡到 8s 實在卡不動,趕緊把 T3 暴力寫了,測過樣例就扔了。
還有 15 分鍾,感覺做不了啥事兒了,繼續卡 T2。把 vector 換成鏈式前向星卡到 5.5s。
JSOI 這機子就離譜,vector 換成前向星快了 2.5s,跑 3e5 次 \(\mathcal{O}(n)\) 樹形 DP 竟然要 3s,我懷疑不是我的常數太大而是機子太爛。
upd : 反轉了,我以為 NOI Linux 2.0 默認自動開 O2。
考試結束后問了一圈分數,ymx T2 沒寫出來寄掉了;ycx T3 沒打暴力但拿了白送的 20 分,所以比我高 12;tzc 把 T2 切了,T3 亂搞過了大樣例,很恐怖,Day1 標准分預定。
A 隊要沒了,不過問題不大,進隊就行,沒進隊也沒關系,明年還有一年,況且技不如人。
回家把 T2 補了,感覺其實不難想,就是有點難寫。
在洛谷上面測了一下極限數據,大概要跑 1.8s 的樣子。那前面 42 分應該穩了,剩下 28 分隨緣。
估分是 \(100 + [42, 70] + 8 = [150, 178]\),非常的寄,應該沒上隊線。
賽后測了一下 T3 樣例 2(賽時沒發現),掛了,T1 用 map
又被卡 T 了。估分變成 \(122\sim 170\)。
Day 2
發揮很爛。
開考兩個半小時一題不會,一個 \(\rm polylog\) 都不會,得分 \(40 + 24 + 12\)。心態有些炸。開考前喝的紅牛和脈動完全沒有用,fuck。
忽然想到 T1 可以根號分治。算了一下有 14 個質數,問題不大,於是開始寫寫寫。連寫帶調到比賽結束最后十分鍾。拍的是 \(n\leq 15\) 的暴力,甚至不知道大數據的正確性,而且非極限數據跑了 1.6s。
感覺得分會和暴力差不多,但是我把暴力刪掉了,咦嘻嘻。回家之后測了一下,正確性沒問題,但是極限數據洛谷跑 2s。把 14 個質數改成 13 個質數就能跑進 1s 了。\(43 \times 47 > 2 \times 10 ^ 3\),考場降智了。。。
沒有一下子看出來 T1 的根號分治,但是這種套路都被出爛掉了。如果前一個半小時直接過了 T1 說不定今天能翻盤,不過誰知道呢。
T2 寫的 \(x = 0, y = 1\) 假掉了,掛了 \(16\) 分。估分 \(85 + 8 + 12\)。
問了一下 tzc 132;ycx 212,T1T2 都切了,我趣,太牛逼了,考出了集訓隊水平(比 djq 還高),Day2 標准分預定;lxr T1 把 41 當合數做了,寄了。
比賽除了不給大樣例其它沒啥好吐槽的,題目質量是高的,就是把我區分下去了。
等出分吧,沒進隊也不買 D,發憤圖強破釜沉舟再來一年。
Day 3
補了一下兩天的 T1T2。D2T2 這個貪心真的很人類智慧,很佩服能在考場上面做出來的人(但是除了 \(x = 1\),\(y = 0\) 以外的情況都不難考慮吧?)。但是仔細想想又非常自然。
分析一下省選失利的點。
一是兩天區分題(D1T2 & D2T1)實現得太復雜了,不僅浪費了很多時間寫代碼和調試,而且還沒有得到期望的分數。D1 誤認為 NOI Linux 2.0 自動開 O2,程序跑得太慢,所以沒敢寫剩下來的 30 分。D2T1 沒有仔細分析 \(N = 13\) 的界導致常數翻倍,白白丟掉 15 分。本來這兩題都是在我能力范圍內的,明明一個半小時絕對能搞定的問題,最終卻花了三個多小時。
二是考場降智太嚴重,不習慣考試氛圍(可能是因為睡眠不夠)。D2T1 很明顯的套路硬是瞪了兩個半小時才看出來;D1T2 拉格朗日插值求多項式前綴和,本來積一層分就好了,我硬是把多項式系數給插出來,然后再自然數冪和(實在是太傻逼嘞!!!)。D1T3 沒看到 20 分白送,很可惜。
三是缺乏抽象題意的能力。D2T2 的操作實質是樹上對兒子集合的一些變換,只要想到這一層那么除了 \(x = 1\),\(y = 0\) 以外的情況都是好解決的,說明從外層往里層弄是自由度最大的。考場上連這一步都沒有想到(思考時間太短了,T1 調完就剩下十分鍾!!!),所以獲得了 8 分的好成績!D2T1 應該及時意識到這玩意是 \(\rm polylog\) 不可做問題(題意抽象一下就是 集合覆蓋方案計數),繼而想到根號分治。
怎么改進呢?首先是補充睡眠,其次就是 think twice, code once!!!!!!!!!!!!!
,考場拿到題應該先把所有題目通讀一遍。
估分在 250 左右,\(80 + 70 + 0 + 85 + 8 + 12 = 255\)。太傻逼了。本來 300+ 是穩的然后給我玩沒了。
掛了多少分呢。D1T3 28 和 D2T1 15。這里掛分指不應該丟的分。再深究一點 D1T2 30 和 D2T2 16+ 也不應該掛。
分析了一下 JS 形勢,進隊應該(?)沒問題(主要是聯賽有那么一丟丟優勢)(奶死了怎么辦?)。
csy A 隊隊長坐穩了。
ycx A 隊應該(?)也穩了。
tzc 要不是 D2T1 和 D2T3 掛掉那么 A 隊也穩了,當然要相信 CCF 數據的水度。
syr(學長)女隊應該穩了。
jgh(學長)雖然沒做出來 D2T1 但是一分沒掛,太猛了,進隊應該沒問題。
ryz(學長)可能要學校承辦 APIO 的救濟名額了。
ymx D1T1 忘記判數字,D1 兩位數,徹底寄了,太慘了。
lyc 要退役了 /ll。
lxr 不太清楚。把 41 當成合數做可能不會掛很多分。
yzh(外校)有很大希望進隊。
qzx(二級學弟)好猛。可能要 E 隊隊長了。
sjc(學弟)雖然聯賽爆炸但是省選好猛。應該能 E。
戴老師怎么回事啊!!!怎么打假賽啊!!!
接下來幾天該干些什么呢?卸掉 phigros 補以前模擬賽的題罷,補點博客罷。
Day 4
出分。
D2T1 在洛谷機子上測 T 成 35 分了,而且 T 滿了 1.2s。實際上拿到了 85 分。
\(100 + 70 + 0 + 85 + 8 + 12 = 275\)。進了 B 隊,校線最后一名(可能有人申訴然后被擠下去?)。
如果掛了這 50 分,就要掉到全省二十多名。u1s1 真的驚險。
接下來該備戰 NOI2022 了。