CSP 2023 游寄
Day \(-??\)
初赛游记:here
Day \(1\)
\(7\) 点钟,起来了。md 真不想考 J 组啊
大概 \(7:35\) 就到 \(\text{GDFZ}\) 了,但是 \(8\) 点才进学校。
\(\text{J}\)
进考场,坐在位置上看说明。
\(8:27\) 发密码了,然鹅写的不清楚输半天才输对。
开场直接倒序开题。D 想了一会,没什么思路,先去看 C。
C 是模拟题,大概半个小时就切了。
然后又不到半个小时把 AB 干没了。
看了一下时间还不到十点,于是决定玩一会迷惑行为。
在注释里写了 f*ck CCF 一首《成都》,一首 《Never gonna give you up》,一个写错的 freopen
,一个 CF 的 全 FST 记录当然是假的,好几条 CSP-S RP=(__uint128_t)(-1)
,还留了一个洛谷 UID。
然后去想 D 题。没一会发现是一个多维 Dij,也秒了。
然后跑大样例。没开 -O2
跑了 \(720\operatorname{ms}\),开了 -O2
\(120\operatorname{ms}\)。/yun
然后又在迷惑行为里加了上面说的。
然后罚坐。
估分:\(100+100+100+100=400\)。
实际:\(100+100+100+100=400\)。
\(\text{noon break}\)
去学校附近找了一个地方吃午饭。然后要上厕所,结果跑了几百米,跑到医院才找到公厕。
然后吃了点零食,听了一会歌。
大概两点,又进到了学校里。
\(\text{S}\)
\(\text{S}\) 组座位号:\(4\) 号考场信息楼 \(404\),座位号 \(44\),米四达:WTF!
\(14:27\) 解压密码 get。
先看 A,啊????\(\text{CSP-S}\) 出了道 \(\text{Div. 2 A}\),就离谱!!!
然后第二题就直接变成 F 了。
然后不到半小时切了,开始看后三题。
看 B,没什么思路。
看 C,WC,大模拟。又回去想 B 了。
想了一会,然后搞出来一个做法。
然后样例 2 直接错得离谱。一想,做法假了。又去看 C。
C 题码了半个小时,感觉要在赛时调出来已经超出了我的能力范围。
于是又回去想 B。
想到递推,令 \(dp_i\) 表示从 \(i\) 开始的可消除的子串的个数。
然后考虑找出其中最短的一个,设其为 \(s_i\sim s_{nxt}\),则有 \(dp_i=dp_{nxt}+1\)。找 \(nxt\) 的话,维护一个栈就行了。
如果没有,则 \(dp_i=0\)。
然后倒着算就行。但是这是 \(\Theta(n^2)\) 的啊!
诶,但是如果 \(s_{i+1}\ne s_i\) 的话,如果 \(i+1\) 开始的时候没有,那 \(i\) 也出不了栈啊!如果 \(i+1\) 开始的时候有,那肯定会走到 \(nxt\) 的时候,\(i+1\) 以后的全出栈了,所以栈里只剩一个 \(i\)。
那不是直接跳到 \(nxt_{i+1}\) 就行了吗?!(怎么感觉有点像 KMP
但是还是不知道会不会是假的。
然后又发现,对于某个位置,一个字母所跳到的位置是固定的!
然后有一通搞,搞到只有一层循环,里面只有一个 memcpy
一个长为 \(|\Sigma|\) 的数组,代码极短。
大样例过了,那 B 题有了。
(P.S. 写到这才发现我开了一个 \(\Theta(n|\Sigma|)\) 的二维数组,算了下需要近 \(200\operatorname{MB}\),吓得我赶紧去看空间限制,看到空间 \(512\operatorname{MB}\) 才放下心来。)
此时还剩大概一小时。
然后去想 D 题部分分,想着先做下 \(c_i=0\) 的情况。(说实话我都没想到 D 的正解那么水
写了个树形 DP,把大样例过了,然后才发现 DP 是错的!(什么牛魔大样例
然后又去写了个性质 B 的 \(10\) 分。
现在 C 已经不可能继续去写了,把之前写的全删了,然后去骗个性质 A,甚至 B&C。
然后脑子乱了,瞎写一通,根本没运行,编译过了,然后监考员说考试结束,匆忙把 freopen
的注释删了,然后保存。。。。。。
估分:\(100+100+0+10=210\)。
实际:\(100+100+0+25=225\)。
不挂分的话应该能 1=/6√ 吧。
Day \(2\)
不知道从哪里搞到了 CSP-S 估分,\(100+100+0+15=215\)。
Day \(7\)
搞到了代码,在洛谷自测。\(100+100+0+20=220\)。
D 题的 B 性质写炸了,TLE 了。全靠 A 性质错误做法拿了 \(20\)。
CCF D 题数据给我水一点。
Day \(9\)
出分了,\(100+100+0+25=225\)。凉凉。
1= 线 \(150\) 咋搞的。
后记
本场 CSP-S 的亮点:没死磕 C 而去把 B 做了。
污点:最后 \(1\operatorname{h}\) 时间分配完全错误!
C 题本来已经码了大半个小时了,结果最后一小时 CD 全都没搞到多少分。明年这个难度起码得 \(350+\) 吧。