好久都没写过博客了,想着今年CSP可以算是我的一个新起点,就写一篇总结分享一下。

2020-11-7Morning

由于纪中是今年CSP认证点之一,所以早上我们只能到图书馆进行最后的训练(摸鱼)。

结果到了图书馆正门还没开,绕道后面发现后门也没开。于是我就和杰哥一起上天台,在天台上欣赏纪中美丽的风景。(然后恐高了,又迅速从天台上下去)

早上在图书馆竟然没有人腐败,我也不好意思颓废,就把昨天没写完的题拿出来接着写。
写完题后还看了一下OI Wiki,发现最近模拟赛树的题太多了,DP之类的都忘了怎么写了。希望今年CSP不要考什么树数树,我最近都写吐了。

2020-11-7Noon

今年竟然不提供食物和水,我只好去小卖部买了瓶矿泉水和两根巧克力。今天中午早点睡,希望下午精神状态能比较好。

CSP-S2020

刚把题目打开,我的心就凉了。T1题目名为儒略日,一看就是大模拟题,感觉今年就要死在T1上了。

不过我还是冷静下来,仔细的看了一下题面。感觉直接按照题意模拟下一天是几号还是很容易的,就决定先打暴力,然后再花1个多小时慢慢写正解。

T1

暴力加调试暴力就花了我30分钟,不愧是T1。

本来是打算分成公元前、公元后儒略历、格里高利历三个部分计算的,后来觉得太麻烦,想如果代码越长出错概率就越大,就继续想有没有简单的写法。

最后发现到21世纪(2001-1-1)只用2451911天,完全可以暴力,大于的日期我就只用考虑格里高利历的算法。而且从2001年算起,每400年刚好就是一个闰年,只用模400年的天数就可以知道是在哪个400年了。

又打了1个小时,然后肉眼检查了一遍,就去开T2了。

T2

T2真的比T1要友善很多。

看了一眼数据范围,发现k最大是64,n可以取到0。
看来今年出题人想强调复习的重要性。作为上一年95分选手,我表示今年绝对不会掉进1ull<<64的坑里了。

出题人还是很友善的,标注了 $a_i,q_i$互不相同,使我节约了一个1e8的bool数组和对 $a_i$的去重。代码也很短,20多分钟就写完并检查正确了。

T3

看了一会儿题目,然后想了一下……
觉得在每个函数上维护修改可能会炸,就想到对每个位置分别处理操作,然后进一步想到维护每一个加法操作的实际影响。

测完大样例还剩70分钟,觉得今年有可能可以AK,赶紧吃了根士力架压压惊。

T4

写完T2的时候就已经看过一遍T4了,感觉应该有某些奇奇怪怪的性质。

对着样例看了半天也没什么发现,也不知道怎样打标找规律。

于是就手推了一下 $n=4$和 $n=5$的判定,也没发现什么规律。但是发现我这个手推的过程应该可以 $O(n^2)$模拟。

看了一眼部分分,发现竟然有55分。这时我已经累了,几乎已经放松了,就想355应该够高了,于是不管那么多直接打了个 $O(n^2)$的暴力。

写完后还有30分钟,就随便地推了几组数据,口胡了一些没用的规律,然后安静的等待比赛结束。

2020-11-7Evenging

估分: $100+100+100+55=355$

写代码的速度还是有点慢了。

由于这场比赛我抱着求稳的心态去,所以做最后一题时已经放弃了思考。
明明55->70是很容易的,可我就是想都不去想。
而且一看到博弈题就想找规律,完全没有动脑子去分析。

2020-11-10Morning

UOJ用户群数据: $100+100+100+55=355$

看了下同省的得分,发现大家T1都死得很惨。

看来我那从初一就已经形成的,不会在比赛中挂分的能力,终究还是回来了。
虽然上学期发生了许许多多的状况,但我还是恢复的差不多了,实力已回到了初三的状态。
剩下的任务就是完全的努力,把我的潜能发挥到极致。

PS:好像在我们学校只要有分都能进NOIP,那我为什么不在考场上打红心大战啊