联合省选 JSOI2022 游记
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 了。