CSPS2025 游记
jiazhichen844
·
·
生活·游记
初赛
以下记 Day 1 为初赛比赛日。
Day -3~Day 0
考了四套初赛卷子,平均分 \le 80。
别笑,你来你也考不上 80。
但是好像要过不去初赛了/ll。
Day 1
中午海亮高级中学 \to 绍兴一中。
四十五分钟速通了,没有基础知识是好的,阅读二把高楼扔鸡蛋 k\le 2 拿出来放一遍交互版是何意味,完善二直接做有点难,看了做法就是容易的了。
睡了一会。
最后半小时翻阅卷子,发现我数排列数错了,重新数了一遍,然后完善二有个地方好像选错了,进行修改。
对答案应该是满分了。
Day ?
查分喜提 403\sim 404 分波动。查到的第一个 \le 100 的分数取满了上界,这是好的。
复赛
以下记 Day 1 为复赛比赛日。
比较慌,怕过不去 T2,原因【数据删除】。
只想看正赛的可以在右边选。
Day -25
暑假后第一次打四题模拟赛,感动了/kel。
奶龙信息学奥林匹克世界大战,100+79+52+0=231,rk 8。
T2 几乎整个机房都在想凸性,比较搞笑。
T3 是非多项式复杂度 counting,毅然决然去做 T3,但 T4 是唐唐平衡树维护置换环,送了不少分。
然后奶龙王就狙击成功了。
Day -22
神秘 T2 被赛后 hack 了,唉。
T3 太困难了,做不了一点。
### Day -18
thomaswmy 搬的题目。
$100+80+100+25=305$,rk 2。
做 T2 两个小时,拼劲全力无法战胜,莫队匆匆跑路。
T3 是容易题,T4 是神秘构造。
如此成绩,如何 CSP。
### Day -16
$100+58+0+100=258$,rk 6。
T2 挺板的,加两句话的事情我口胡了一个容斥再加点边容斥的 $20$ 倍常数的树剖 BIT。
T4 是哈集幂板子,比较唐。
鉴定为 1423。
### Day -14
$10+100+100+60=270$,rk 12。
两道计数,放在两道签到 T2,T3。
T4 不难,但是我做法太诡异了调不了。
T1 是 meet in the middle 板子,但是写挂了没挂拍,于是寄。
### Day -11
$100+100+90+10=300$,rk 4。
前三题基本都是送的,T3 随机卡常被卡掉 $10$ 分,加个快读就过了。
但是 T3 貌似都不是正解复杂度,如何呢?
### Day -9
$100+100+100+30=330$,rk 3。
也是送了三题,T3 又是平衡树维护置换环。
T4 是巨大分讨 ds,两个等价的部分只来得及写一半,能过特殊性质,然后拼分拼挂了,如何呢?
### Day -8
$100+45+0+0=145$,rk 13。
T2 是奇怪 greedy,成功假掉。
写了一整场 T4 调不出来。唉,菜是原罪。
### Day -4
$80+100+100+0=280$,rk 4。
T1 log 太难写,写了个分块没过 $2\times 10^5$。
T3 是板板点分治+虚树+换根 dp,T4 是巨大困难推性质。
如何 CSP?
### Day -3
$100+100+60+19=279$,rk 7。
前两题是送的,T3 是困难 counting,T4 是答辩。
小店解析:T3 的得分可看作 $60\sim 98$ 均匀分布。
### Day -2
$70+100+100+60=330$,rk 2。
难度顺序,T3 是简单的,T2 是神秘猜性质,T1 是抽象计数,T4 是困难题。
四紫模拟赛,唉。
### Day -1
打板子,敲了 kmp,manacher,tarjan,点分治,李超树,树哈希。
VP CF,被蓝题卡了。
### Day 0
划水,ZJOI 迷宫是人做的?
晚上六点海亮高级中学 $\to$ 全季未来科技城绿汀路酒店。
和 ricefruit 住在一起。
### Day 1
上午随机看题,和 zzzcr 大战十五分钟黄题,勉强战胜。尝试调昨天写的某个题。
中午食用了盒饭。
下午进场,并未携带食物。
睡了一会,醒来时发现口袋并没有手机,这是好的。
读密码时成功没来得及打也没来得及记,读第二遍才打开。
开场看题发现 T1 应该不难,T2 没什么想法,T3 好像是串串,T4 是 counting。
花了 $6$ 分钟仔细读了一下 T1,T2,T4,发现不会 T2,T4。
想了 $5$ 分钟 T4,没什么想法,先去看 T1。
秒了,直接调整,敲了一会敲完了,$14$ 点 $47$ 过大样例。
看 T2,发现 $k\le 10$,想一会只会 $2^k(m+nk)\log m$。
快 $15$ 点时会了发现 $m$ 可以缩成 $n$,于是是 $2^k nk\alpha(n)$,感觉不能过。
几分钟发现可以一边搜一边缩边一边归并排序,是 $2^k(n+k)\alpha(n)$,进行写,准备写完上厕所。
$15$ 点 $12$ 过了大样例,感觉不太会被卡常。
仔细阅读了 T3 题面,发现离线并缩掉两端相同后每一类是查询 $s_1$ 是 $t_1$ 后缀且 $s_2$ 是 $t_2$ 前缀的数量($s,t$ 意义有变)。
想了一会发现可以直接在两棵 trie 上做二维数点,算一下发现 $10^7\times 26$ 个 int 加上 $10^7$ 个 vector 总共 $4\times 10^5$ 个 pair 元素只比 1GB 多一点,不会 MLE。
复杂度 $O(L+(n+q)\log L)$。
因为怕被卡常,用了一个状压存哪些字符上有儿子。
准备调完上厕所。
写了一百万年,调了一百万年的 RE,发现是有个地方 `x&-x` 写成了 `x^-x`,比较搞笑。
调完 RE 后一遍过大样例了,$16$ 点 $39$ 过的。
思考 T4,感觉是方案数延后计算然后 dp 设一个 $f_{i,j,k}$,显然有两维状态 $i,j$ 是当前到了 $i$,前面毙掉了 $j$ 个人。
先假定 $s_i$ 为 $c_x\ge i$ 的数量,$t_i$ 为恰好 $i$ 的数量。
$k$ 本来我想设为前面被毙掉的 $c_i>j$ 的人数,发现不太好算后面的 $c_i>j$ 的人数。
想了一会发现应该设为前面面试过(被毙掉,被选上)的 $c_i>j$ 的人数,此时前面面试过的 $c_i\le j$ 的人数是 $i-k$,后面的 $c_i\le j$ 的人数是 $(n-s_{j+1})-(i-k)$。
然后考虑转移,若第 $i$ 天是好的,则 $f_{i-1,j,k}\to f_{i,j,k+1}$($c_x>j$,不决定具体是谁),$f_{i-1,j,k}\times \binom{t_{j+1}}{l}\binom kll!((n-s_{j+1})-(i-1-k))$($c_x\le j$,决定是谁,$c_x=j+1$ 的枚举前面用过的数量,进行选择,选择,匹配)。
否则差不多,只不过当 $c_x>j$ 时也会 $j$ 增加并枚举数量。
复杂度 $O(n^4)$,需要 for $i,j,k,l$。
最后答案是 $\sum\limits_{i=0}^{n-m}f_{n,i,s_{i+1}}s_{i+1}!$。
准备敲一下之后上厕所。
发现可以推之后就直接照着写,可以过第三个样例。
尝试把 $l$ 去掉,直接推发现要 NTT,感觉写不出来。
对着代码瞪,突然发现 for $j,l$ 总量是 $O(n)$ 的($l\le t_{j+1}$),所以复杂度其实是 $O(n^3)$。
敲了一个滚动并把数组开大,开 O2 测最大样例 0.8s。
$17$ 点 $42$ 分过了全部大样例。
AK 了?真的吗?
上了一下厕所(没上过),打了两把 tetris,下了会五子棋。
结束了。
ricefruit 表示他 $17$ 点不到切了四个题,进行拜谢。
出场发现 T3 查询串长可能不同,然后我忘记自己有没有判了,非常慌,感觉自己没判。
写了一下 T1,T4,luogu 上可以过。
upd:查分了,$100+100+100+100=400$,WC 显然是可以去了
T3 出题人,可以多 $100$ 个母亲!
## 后记
我还年轻吗?
我还年轻……吧。
从来到海亮高级中学算,正式学 OI 已经有两年,想到两年后我将成为高一选手,被更新的选手薄纱;再两年后就成为了高三学生,不知是成为 winner 还是成为败犬。
说是游记,却也是对近两个月对 CSP 努力的简略总结。
希望 zzzcr 学长与 fangzichang 学长进入省队,获得金牌。
我该在哪里停留?我问我自己。