过去,CSP,以及不存在的未来 in 20231022
在开始之前
早在暑假集训的时候,我就意识到:
在这条比拼智力的道路中,我绝不算是聪明的那一批。
我是一个普通人,会打打暴力的普通人,仅此而已。
也许是某几次的超常发挥,给了我信心留在这条赛道上,总算是坚持到了这一天,给了我上场的机会。
即使结局早已注定,也还有拼一把的机会。
上午什么都没做。
中午吃完午饭再休息了几十分钟就出发了。
有幸被选中打的车去,不过也是不太想睡。
去水土校区的路也是愈发熟悉,但是以后就说不定还有没有机会再去了。
到了水土,见到了本地信竞团队,感觉见到了过去的,还有 ghr,gfy,xzt 他们在的时候的自己。
拍了个合照就干正事去了。
在进行之中
看到 t1 ,再看看数据范围……?
简单得难以置信。
35 min 切了,感觉还慢了。
又通读了一遍题目。感觉 t2 很常规,t3 看起来有点绕,t4 可能是个树形 DP。
然后就去想 t2 。
第一感觉就是可以把区间 DP ,就三方那个,做个什么优化然后过掉,发现行不通。
然后感觉可以去掉一维,记录个以某个位置为结尾的合法串的个数。发现巨难转移。
(然后今晚就有个高一大佬来手把手讲怎么转)
后面的想法就比较迷糊了。
又放不下那个 dp ,突然发现是不是可以把 dp 的范围当做区间然后放线段树上,像分治那样。
不对,好像就是分治。
感觉是能做的。但是左右两边那两又怎么合并呢?想了一会也放弃了。
感觉又可以看作括号序列。
把整个排列挨个放栈里,然后能删就删,这样可以把原序列转为括号序列。然后就括号序列计数了。发现括号序列计数我也不会……
真™基础知识欠缺。中间少的那一年的坑怕是到退役都补不完了。
又想到可以按某种颜色把序列分段,但是分段后又该怎么做?不知道。
感觉每一次都是快想出来了,但都是差一点。恍惚间,已经浪费了两个小时。
此时心态有点炸了。最终决定放弃这题,开 t3.
没几分钟,把题目琢磨明白了。
感觉能把结构体理解成树的形式。找位置类似于树上二分,感觉时间复杂度是对的。
然后开始写。
写到操作符输入的时候就停下来了。
开始思考自己要维护什么东西。
有点理不清楚了。
感觉开个结构体来存每个结构体的信息。
然后开完就老实写。
……
一个小时,65pts 的框架差不多好了。
一个 F11 按下去(注:在 devcpp 中 F11 为编译并运行),报错报了十几个。
有定义漏了的,有我对 unordered_map 运用不熟练导致的,还有一些离谱错误。
我都有点怀疑我写这玩意的精神状态。
发现还剩半个小时多,直觉告诉我这玩意应该是调不出来了,于是删成 15 pts 的,终于过了编译。
此时心态已经炸了,也不想造个数据验证下了。
t4,开完 t2 想的,感觉是树形 DP ,然后又发现无法转移,遂感觉贪心,然后又觉得不对。
——其实要是再往深处想一想应该是想得到二分的,当然也可能是我太过自信。
在结束之后
感觉考得还没去年好。
若是能早些意识到 t3 对我而言比 t2 好写,也就不会在 t2 上浪费太多时间。
结局也许会不一样。
不过也不能全怪策略,要是 t2 能想出来的话也没这么多事,还是菜。
就这样,准备了许久的 CSP 就结束了。
感觉像失去了什么一样。
但还是让自己看起来像是什么都没发生一样。
算是意料之中吧。就当给 NOIp 攒 rp 了。
不过,在这其中暴露的问题还是很多,比如上面说的那些。
有了这把的经验, NOIp 应该不会再踏入同一条河流了。
愿一切顺利。

浙公网安备 33010602011771号