【比赛游记】CSP2020 游记
前言
预感今年会翻车,希望我的预感是错的。
上接 CSP2019 游记。
Day 0
仔细思考了一下,下午的课程是:地理、物理、政治、唐诗鉴赏、唐诗鉴赏。
于是果断咕掉枯燥的后三节课,15 : 30 就从校门口溜了出来,17 : 40 左右就抵达了 " 速 8 酒店 "。
订的是一间单人大床房,环境海星。欧式台灯很对我味。房间号是 8515,好像没什么特殊的意思。不过今年住 5 楼,开窗出去看不到楼下的一条龙服务店了,也许这会是个好兆头。
接下来准备去试机,...,草,试机好像早就结束了。于是就草草地到考场门口看了看。
普及组又双叒叕是在时代中学(第四考场)考,不过今年没有 changle_cyx 和 xyz32768 两位大奆佬庇佑我了,感到恐慌。
提高组总算是在师大附中(第一考场)考了,据说跟粉兔一个考场!希望粉兔可以庇佑我。
(因为手机太 ** 的差了,所以拍的非常胡,请见谅 ...
然后去吃了一碗兰州拉面,爽爽的。
然后去买了一杯冰沙,爽爽的。
突然觉得我好败家,但是爽爽的。
18 : 56 就回到酒店里了,想玩点有趣小游戏:
- Getting Over It with Bennett Foddy:玩了一会心态就爆炸了,不玩了。
- Don't Starve:玩了半小时就被野猪弄死了,不玩了。
- I wanna:开局直接自闭,不玩了。
- minecraft:还是这个东西有点意思。
就这样颓颓颓颓颓,颓到了 21 : 30。觉得还是打打题找一下手感吧。
写了一下 NOIP2018 普及组的「摆渡车」。草稿纸密密麻麻的写了一页,头有点大,是我文化课不够熟练的原因吗?
写了一下 CSP2019 提高组的「树的重心」。很好,式子居然推对了,也没有写出什么 bug,比较稳,只是常数写的有亿点大。
写了一下「【模板】线段树分裂」。草,差点忘记这个东西要怎么写了,在努力的 yy 后终于回忆起来了。
写了一下「【模板】文艺平衡树」。这个还比较好写,随便写写就过了。
写了一下 NOI2018 的「归程」。很好,没有忘记 kruskal 重构树要怎么写,希望明天不要 SPFA 了。
写完这 5 题已经 0 : 40 了,准备去睡觉觉。
祝大家 CSP2020 rp++!!!
Day 1
睡的太好了,没有自然醒,7 : 00 被叫醒服务叫起来了。
因为今年疫情,速 8 没有提供早餐。于是就吃了吃麦当劳的粥,味道还是很不错的。
上午考普及,8 : 10 左右就进了考场,很快也就到了 8 : 30,开考了。
T1、T2 和 T4 没什么好说的,开场 30min 就秒掉了。
然后坐在座位上呆呆地看着 T3,然后 ... 然后不会写了。
第一思路就是钦定根的值,然后推至叶子的值,这样预处理一下就行了,但是好像很麻烦的样子。
干脆睡觉去了,睡到了 11 : 57,然后就 12 : 00 了。
问了问 lzx2005 的得分情况,嘶 ... 又 AK 了,巨!
我:您 T2 是什么复杂度的阿?
lzx2005:线性的阿。
我:阿?这玩意怎么线性?
lzx2005:就是给它桶排一下,然后每次从大到小枚举第 k 大就行了。
我:你这不是 \(\mathcal{O}(600n)\) 的吗?
lzx2005:\(600\) 是小常数,所以还是线性的。
...
午饭吃的是卤肉饭,感觉很棒。
在酒店里随便坐一坐,看看 b 站就快到 1 : 40 了,出发去师大附中。
2 : 10 就进了考场,坐在考场上十分不安,预感今年会翻大车。
2 : 30 开始读题,T1 叫「儒略日」,一看就是什么有关日期转化的 boring 模拟题。
仔细一看,嘶 ... 貌似要讨论的东西非常多,感觉非常麻烦的样子,为什么这种题要放 T1 阿。
于是开始码码码,一遍码一边摁 win7 的计算器,算 365 * 3 + 366 这种类型的数字。
思路非常混乱,导致我码的非常慢。码完的时候已经过去了 1.5h 了。
测了一下小样例,非常稳。
测了一下大样例,肉眼观察了一下,没什么毛病。但是我的输出文件好像就是莫名其妙比答案文件多了 0.1K ...
感到恐慌,用 system("fc ")
比对了一下,好像确实没什么毛病。但是多出来那个 0.1K 就很诡异。
于是就复查了一遍,看到一半突然想起来,好像 CSP 大样例是在 Linux 环境下生成的,换行不太一样。于是就赶快放掉了 T1,去看看 T2,这时候已经过去 2h 了。
第一遍看,觉得 T2 答案应该就是 \(2^{h}\),其中 \(h\) 表示 " 有多少位可以自由选择填 \(0\) 或 \(1\) ",看了一下样例解释:
加入一种编号为 \(0, 2, 3, 5, 7, 8, ..., 15\) 之一的动物 ...
我:欸?\(1\) 难道不行吗?\(4\) 难道不行吗?\(6\) 难道不行吗?
重新审视了一下题面,噢,原来问的是还能养多少个,\(1, 4, 6\) 已经养过了阿。那没事了。
那这样的话,答案就是 \(2^h - n\) 吧。
看了一下数据范围,嘶 ... 好像 \(k = 64\) 时 unsigned long long 可以开的下?那姑且就这样吧。接着去看 T4。看能不能骗一点分。
当时脑子一片混乱,也没有充裕的时间静下心来思考蛇接着吃下去的条件是什么。只好写写 \(n = 10\) 的暴搜了,嘶,好像 \(n = 10\) 的暴搜也比较棘手,似乎想不出结论就写不出来的样子。于是只混了一档 \(n = 3\) 的分,回过头来去看 T3。
woc?我记得我看过差不多的题。把所有 3 操作的调用关系建一个 DAG,在图上随便跑跑,算算一个操作在整体情况下进行了几次,注意一下先后顺序即可。
于是开始码码码,码完的时候只剩下 15min 了。
测了一下小样例,嗯,很稳。
测了一下大样例,嘶,爆炸了 ...
万一 T3 整道题都没有分了怎么办?于是赶紧注释掉了所有的部分。去打剩下的部分分,凭借优秀的数据结构功底,只用了 7min 的时间就打完了暴力的分,还剩下 8min,我看到一档 " 函数调用关系构成一条链 " 的数据,好像很好打,5min 就打完了。
这样看下来,\(100 + 100 + 50 + 20 = 270\) 好像也还行?很快考试就结束了。
我:感觉还行,得分是 \(100 + 100 + 50 + 20 = 270\)。
lzx2005:你 T3 打了 " 函数调用关系构成一棵树 " 的数据?
wangjunrui:你 T2 有判 \(k = 64\) 的情况?
我:???
woc,我是得有多眼瞎才把树看成是链?我是有多聪明才会认为 \(k = 64\) 时 unsigned long long 开的下?
然后得分直接变为 \(100 + 90 + 30 + 20 = 240\)。
回收结果出来了,几乎随便找一个 T1 都是 2K+,CCF 真没意思,考大模拟有个 ** 的意思。
目前已知 T1 最短的 AC 代码是 1.27K,orz。
然后去聚餐,还是去年那家,吃的爽爽的。
然后坐车回长乐。
到家就拿到了自己的程序,测了一下,woc,T1 炸了?唔哟,赛前预感对了 ...
发现我手算 " 1582.10.15 前经过了多少天 " 算错了 ...
\(40\) 分代码:
long long onelimit = 1721423;
long long twolimit = 2299160;
\(100\) 分代码:
long long onelimit = 1721423;
long long twolimit = 2299161;
打 \(4\) 题挂 \(3\) 题,真有我的。
于是最终得分 \(40 + 90 + 30 + 20 = 180\) ...
这不是彩笔中的彩笔才能考出来的彩笔分数,阿,身败名裂了?
对比 18 年同期的 changle_cyx 和 xyz32768,发现自己菜的真的什么都不是。
虽然说今年感觉出的好像质量非常差的样子。
但是考的不好就是自己有很大问题了,就是技不如人了。
毕竟 " 真的大佬,质量行与不行的 contest 一起屠 "。
算是一次深刻的教训吧,现在起,真的要努力向大佬们看齐了。
- changle_cyx。
- xyz32768。
- PinkRabbit。
- nealchen。
- fjzzq2002。
- _rqy。
- matthew99。
- EntropyIncreaser。
- nzhtl142857。
- ...
等诸位巨佬就是我的偶像了!
我不会停下脚步的!
2020 / 11 / 17
查到成绩了。
普及:\(330\)。
提高:\(50 + 95 + 70 + 20 = 235\)。
T1 还多拿了 \(10\) 分?
T2 数据只放了一个 \(\times\) 点?
T3 瞎暴力能水 \(70\)?
T4 没有 \(a_1 + a_2 = a_3\) 的数据?
省 rk30+,嗯不错。
但是仔细想想,去年省 rk90,今年省 rk30,好像也没有什么较大的突破。
普及没 AK 真是太丢人了,简直身败名裂,看看人家 lzx2005,去年和今年普及都 AK 了,写到这里,就流下了不争气的泪水。
文化课要好好抓一下了!
高深的 OI 问题也要开始积极研究了!
希望 Noip 没事。