CS3022-SPJ Eden 游记
CSP2023-JS -> CS3022-SPJ,这很合理。
作为一个高三选手,应该是最后一次参加 CSP 和 NOIP 了,打完 NOIP,应该就是 OI 生涯的结束了。所幸,另一方面,作为西湖大学的同学,我的 ICPC 也正式开始了(虽然网络赛都能被吊打)。
这次比赛同时我约了云斗一起造民间数据,责任又多了一分。
CSP-J
早上我打开电脑,忽然洛谷群炸开了锅。
我一看,原来 SSH 省网络出了点问题。
赛后我开始逐个分析今年的题目,写了份 std。
今年的 T1 仍然是数学的分类讨论...哎怎么
然后就是时间复杂度的问题。每天取走了约
然后是第二题。我怎么都感觉自己出过这个题,但是细想了一下不是——虽然都是汽油和固定的加油站位置。
看了下数据范围感觉一时间没啥好想法,先等着。
然后第三题没绷住。本来云斗有一个很好的宣传自己模拟赛的机会——云斗 J 组模拟卷 T2,本来是给你
要是我坚持二次函数,可能我们就可以宣称自己押中了 J 组 T3 和 S 组 T4要解二次方程。
因为没搞到大样例,所以我自己随便测了两组就发给组里其他人了。
然后我就打开了第四题,刚打开便有一股陈年老题特有的年代感。那还是我初二的时候,恰好当年 AK 了 CSP-J,印象深刻。
我沿用了那道题的思路,先建立分层图,建立了边后尝试最短路。现在的我和当年的想法不同了,我会把二维重编号为一维写一个新函数。
首先最短路模型肯定是对的,如果你到上一站的时间更早,则到当前站的时间不可能更晚,只要想办法 BFS 即可。
然后卡住了。因为开放时间的存在,我们的 BFS 不一定对——先到达的点,离开的时间不一定更早。
那么考虑放弃队列,而采用离开时间顺序更新?哎这样好像依赖值域了,而且绝对不好写。
考虑换一个对图要求更低的算法,比如 Dijkstra?这个算法只要求距离最短的图不会被更新即可。好像除了
但是我现在目的是生成数据啊,用了点 S 组算法,或者是时间有点危险怎么了。所以就没接着想,码完就交给别人了。
回头想了想 T2。要不试试看递推,假如目前我刚好能活到某个站点,我要怎么修改我的计划,才能让自己能顺利开到下一个站点。
好像只要从前面的加油站挑一个最便宜的就可以了。看上去确实不难,但是我觉得还是有点有趣成分在的。但是总感觉见过啊,到底怎么回事呢。
T3 的代码被造数据的同学揪出来,说有一份代码他输出了 1-sqrt(7),我输出了 1+-1sqrt(7),然后他说要回去仔细检查是否对于
我:woc 好像根本没讨论
内心 OS:对不起高中数学老师了= . =。
CSP-S
到达学校。今年终于不在仓前了。准考证号 ZJ-S00014,排的很前面。
电脑终于用上了 Windows 10。那位态度恶劣的监考老师也没有出现。
进考场时,老师对一同学说:“考试时不要用修正带啊”。
桌子特别小,我拿出尺子量了一下,桌宽
今年密码没啥整活的。
T1(评分:橙)
啊?
真的就枚举所有密码?
虽然题目不难,但是我仍然 3 点才做完。判定密码和状态之间的改变量是否连续,好像还是有点麻烦的。
我觉得其实我应该再暴力一点,不仅枚举密码,还直接枚举转法,
这么看来我觉得云斗 S 组 T1 押题相当准确啊(笑),就是那玩意码量还是大了点。
T3(评分:绿)
本来看到 T2 觉得就是括号树翻版,但是细想了一下并没有告诉你每个字符是左括号还是右括号。当时思考了一下,好像也没法直接转化成括号树。
然后看了下 T3,大模拟,看看 T4 吧。
T4 上来直接解一元二次不等式是没绷住,某种意义上我们云斗《也本可以押中题的》。尽管如此,细想了一下,每棵树成长时间不固定好像也没什么特别的 idea。(赛后 os:不是,早上刚吃了二分 BFS 的亏现在你又忘了你有二分这个工具是吧)
然后犹豫了一下写 T2 还是 T3。注意到这已经是我最后一次 CSP 了,分数没有那么重要,不如弥补一下 2020 年儒略日的遗憾,告诉自己三年过后已经不会被 S 组模拟绊倒了。
硬碰硬了 100 分钟,测了下大样例,应该强度还行,就没管了。
(注:2019 年我括号树写了 150 分钟。)
T2(评分:蓝)
回来继续想这个东西,考虑到去年有不可以总司令,我们相信根据”每个字符都出现偶数次“可以解决大部分问题(确信)
虽然这显然不靠谱,但是我稍微改进了一下我的猜想。假设
感性理解了一下好像很对,然后开始考虑实现。
和当年括号树的想法一样,设
接着思考,如果发现
感性理解了一下复杂度好像也很对。我还写了个
T4
此时只剩下 20 分钟。写了个性质 A,还写假了。
大概我其实还是速度不够快吧。我觉得其实再给点时间我是能想到二分的。