CSP-S2022 游记
Day -2
上午打了场信心赛,因为某种原因 T2 简单广搜想了半天先做了 T3
下午随机做了两道 Y25t 的题,看了两眼 pbds 打鬼子。摆烂。
Day -1
上午教练让我们几个找几道联赛到省选难度的题,上 CF 搜 probabilities,找了 2000+2700+3500,最后一道没看难度,直到看见题解出现泰勒展开才发现了什么。。。
下午打了一道鬼子,摸鱼。
晚上打了一道鬼子,摸鱼。飞盘还没到,轮胎被后生晚辈拿去了,继续回来摸鱼。
Day 0
上午打了一道 2000 的鬼子题,然后摆烂。后来打 Tetr,让二追三可还行。
下午两点到,瞎聊了一会进考场,居!然!不!让!带!水!和!吃!的!(疫情防控)
14:30
开始考试。密码 belief2022。
打开 pdf,第一眼看见四道传统题,没意思。开始看 T1。
奇奇怪怪,很有哼串计数的感觉。\(n\le 2500,m\le 10^4,k\le 100\),于是上来码一个 \(O(\frac{nmk}{\omega})\) 求所有与点 \(u\) 距离不超过 \(k\) 的点(我是不是有病!!!)
码完测极限数据,也就只跑了 0.7s,看看没啥好挂分的,于是没写拍子跑路。此时 15:10。
(赛后结果:LG 自测 95,Infoj 自测 100。大寄特寄。)
15:10
开 T2。博弈题Surreal Numbers。随便想了想发现不过是大分讨就开码。分了6类讨论。
中间一段插曲是 RMQ 初始化 lg2 数组循环写成从 1 开始,结果奇奇怪怪的 WA/RE,于是赶紧去 NOI Linux 下开 fsanitize,一测就出来了(是不是时间主要花在这里?)
15:45
码完 T2。感觉时间有点紧就赶紧看 T3,看完就去蹲厕所想。想来想去发现俩条件就诈骗,本质上单点加减集合加减问是否所有数都为 1。
15:55
发现 T3 没啥思路,突然意识到 T2 居然没对拍,仔细想想发现暴力很好写,于是开始写暴力(这里也花了一些时间)。
结果一拍就挂。
仔细一调原来一个 if(mx!=-INF)
写成了 if(mx!=INF)
,改回来就拍起来了。再回去想 T3。此时约 16:10。
(赛后:两个自测都过了。)
16:20
没啥感觉,感觉不如先把暴力写了。于是开始写暴力,一会写完了。开始对着线段树分治之类的东西胡思乱想。
16:50
这种奇奇怪怪的集合问题,不知怎么就想到了哈希。一开始想成了异或,开始乱写,写到一半发现不对,改成加起来就行了。此时 17:30。
17:30
决定先写个拍子拍着(祸根),于是写了暴力,写了拍子,打开 .in,发现一个 0 0,寄,gen 写错了。开上 GLIBCXX_DEBUG 发现不知道哪里越界了,又去 NOI Linux 调,调了半天还是不知道哪里错了。最后干脆 _exit(0) 随便拍着,最后也没拍出问题,倒是白花了 15 分钟。
(赛后:两个自测都过了,写完已经对了)
17:45
开始想 T4,想了一会决定直接走 \(n^2\) 暴力。随便开写。
写完测第二个样例错了。
画出图来对着计算器看发现问题在于跑出来的一个儿子。
想了一会觉得不好处理就想换写法,换了一半发现那是 \(n^3\) 的只好又回来。此时已经 18:10。
再看看改改过了第二个样例。此时已 18:22。
赶紧测第三个样例,发现大错。迅速发现是因为 \(k=2\) 传参形式并不一样。赶紧改改改。
最后几乎是卡着点改完的。把所有文件打开看一遍文操就结束了。
(赛后:自测 44 分,居然没挂。。。最后一刻捡回来的。。。)