CSP-S2 2020 游记
CSP-S2 2020 游记
11/6 请假
晚自习和 ZZS 去找青争请假,因为现在的竞赛早已成为青争口中的“无用之物”,又因为周六刚好要选考周测,于是我们不出意料被 D 了回来。当然 CSP 是不可能不去的,于是我们决定“先斩后奏”。
11/7 出发
本来打算 8:00 和大家在校门口集合,但是因为想到值日的事情,就赶紧去学校扫了包干区,然后就在机房呆了一会。
机房里没什么人,除了 PA,我一个都不认识,大概都是新来的高一/初三大佬吧。
8:00 坐校车出发,随行教练只有 PA 和左护法,没有预想之中 FSB 的毒奶。前面的高一大佬在背历史和政治,右边的巨佬 PC 开始在洛谷写模板。我突然发现,除了暑假为了交大无人车比赛用 Python 刷了几道水题之外,上次做题已经是去年的 CSP 了。但既然高三了,出来就是来旅游的,复不复习也无所谓了。
大概 12:00 的时候到了余杭万达,在麦当劳随便吃了点东西,然后就出发去考场。
在车上简单看了下早上普及组的题目,都能想出做法,难度应该和往届差不多。
到了考点,先在校门口拍了张合照。与往届不同的是,今年的复赛由学军四个校区联合举办。我们被分到了海创园校区,同考点的选手好像主要都是来自宁波和台州,所以很遗憾没能见到 1233a。
离进场还有一段时间,大家都在报告厅休息,ZZS 在玩奇奇怪怪的游戏。然后来了一个考务让大家排好队进考场。
11/7 “认证”
监考在黑板上公布了密码,但是大家都解压不了,后来发现是最外面少了一对括号。
简单看了一下题目,T1 看起来是一个大模拟,T2 看起来是一个简单题,T3 看起来像是数据结构,T4 看起来可以贪心拿到一定的分数。
开始正式做题,T1 先写了个暴力,算出几个特殊日期对应的天数,然后就分类讨论,模拟即可。细节有些多,大概花了我 90 min 才写完,之前从来没在 T1 上花过这么多时间。大样例一遍过,但是好担心自己会 FST。
T2 做了 20 min,大样例过了就不管了。
T3 仔细看了一遍题目,发现有“树”的子任务,想到可能是根据操作之间的调用关系算贡献。又发现操作之间不会循环调用,也就是说将每个操作当成一个结点,则所有的操作及其调用关系可以看作一张 DAG。用两遍拓扑排序就能计算出所有操作的等效调用次数,除了队列,根本不需要什么数据结构。推了一些细节就开始写了,大概花了 1 h 多过了前两个样例。大样例怎么调都过不了,最后决定先去看看 T4。
T4 想了一个 55 分的贪心做法,用小样例模拟一下发现好像是对的。结果等到把程序写完,发现大样例过不了,而且数值上和 ans
文件差了不少,但是程序怎么看都没有问题。于是重新读了一遍题,发现我把题目理解错了,不过当 \(n \le 3\) 时是对的,于是决定暂时放弃 T4 回去调 T3。
T3 手造了几组小数据都是对的。大样例太大,看不出什么有价值的信息。最后直到考试结束都没查出什么问题。
出了考场听见别人讨论题目,发现自己 T1 没开 long long
,T2 没考虑 \(2^{64}-0\) 的特殊情况,T3 有些人的做法好像和我一样,不过也有人用线段树合并的,T4 好像 70 分很简单。于是担心自己会不会以 0 AC 的结局惨淡收场。
11/7 返程
坐在车上,想到白天逃掉的选考模拟、下周即将来临的宁波一模,而 NOIP 入围资格仍是未知,自己的 OI 生涯可能就要这样画上句号,心里五味杂陈。
11/8 民间数据
早上在 hello, Luogu 群里看见了 ZJ-Senior 的选手程序,就顺手下下来找民间数据测了测(部分可能是在之后几天测的)。
来源 | T1 | T2 | T3 | T4 |
---|---|---|---|---|
洛谷 | 90 | 90 | 100 | 25 |
牛客 | 50 | 95 | 100 | 20 |
OI题库 | 80 | 95 | 100 | 20 |
山东实验 | 80 | 90 | 100 | 20 |
镇海中学 | 40 | 95 | 100 | 20 |
T1 果不其然 FST 了,好像都是把一些 31 日当成了下个月的 1 日。T2 的 WA 大概就是因为没特判的原因。T3 在所有民间数据都 AC 了,大概是因为数据水的原因。T4 果然是 20 分,不过在洛谷上凭借假的贪心骗过了一个点。
综合起来,最终得分大概在 250~310 之间。
11/16 官方数据
官方数据一公布,洛谷就马上更新了数据,测了一下发现是 \(90 + 95 + 100 + 20 = 305\),差强人意。顺手到 SOJ 上用大样例 hack 了自己的 T3,却发现 failed。在知乎上看到可能是因为题目名字 call
和 cmd
里的命令撞名的缘故,害得我在考场上白白浪费这么多时间。(你 CCF 就是你 CCF,连题目名字都能下毒。)
简单订正了一下,T1 只要开 long long
就 AC 了,T2 只要特判 \(2^{64}-0\) 的情况也 AC 了。要是不在 T3 上对着一个 AC 程序空耗这么多时间,T4 大概也能做到 70 分吧?如果这样,我就能 \(100 + 100 + 100 + 70 = 370\) 了,在正睿的民间榜上可以排 ZJ 第三,考出我 OI 生涯的最好成绩,可惜没有如果。
11/20 写在最后
前段时间为了学校里的琐事忙得焦头烂额,游记一拖再拖才草草收尾。高三的生活,就是这么朴实无华且枯燥。如果 NOIP 去不了,这就是中学生涯最后一次参加 OI 竞赛了。随便写点文字,权当回忆。