Day 0
复习了除 SA 以外的所有提高组可能会用到的板子。
Day 1
Part 1
早上复习了之前的博客,吃了中饭就过去了(考场上一位巨佬没好好吃中饭然后就……)。
比赛大约 2:30 开始,我 1:30 到的,面到了 lrl 和平时我经常见到的人(比如 kyl,jth,jcy,pmt,yzh 等)。
不知道为什么我们队伍是最后一个进机房的。进了机房发现对面是个 xxs,其一脸自信和调皮的样子让我恶心。
写了快读,快输后,发现还剩时间,就写了快速幂,逆元和加边的板子。
2:25 发题。比赛正式开始!
Part 2
先把题目大致浏览一遍。A 似乎和我之前集训做过的某题很像,B 似乎是个与括号序列有关的题,C 似乎是个贪心/构造题,D 似乎是个不可做题。
先做 A。思考了一会儿,盲猜上一次合法的飞机下一次依然合法,于是就写了个二分+链表出来。过了两个样例,但发现大样例过不了/kk
我开始有点慌了。我仔细检查每一行代码,但没有发现任何问题……于是,我不得不重新换一种写法。然后就过了大样例。感觉不是很稳的亚子。
然后开 B。第一波把题目看漏了,没发现 S 不能长度超过 k k k 的限制。于是就以为是个简单区间 dp \text{dp} dp 题。当我开始实现的时候,终于发现了自己看漏的东西,于是我重新阅读了题面,并重新再一次看错了题——我 以为 * 的总数不能超过 k k k。
想了一会儿完全不会,于是我又看了一遍题面。哦,我终于理解正确了。此时此刻,时间是 3:30。
经过再一次的思考,我得到了 O ( n 4 ) O(n^4) O(n4) 的朴素做法。紧接着,我很快又使用前缀和优化口胡得到了 O ( n 3 ) O(n^3) O(n3) 的做法。本着先写暴力再优化的思想,我很快就写完并过了两个小样例。
草大样例没过!啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊!
我一遍又一遍地检查自己的代码,但是并没有发现任何问题。此时时间已经过半,我开始爆炸了。
此时唯一的办法只有手造数据了!我手造了一个
N
=
4
N=4
N=4 的全是 ?
的数据,跟手算结果一样。
n
=
5
n=5
n=5 也差不多。可是,当
n
=
6
n=6
n=6 的时候,发现 ()()() 被重复算了!
综上所述,做法假掉了。
不过,我是想到了蓝书上的一句话——于是我将一个状态拆成两个状态。拆完之后,又调了一会儿边界,就过了大样例。
好了,现在只要把 O ( n 4 ) O(n^4) O(n4) 与优化成 O ( n 3 ) O(n^3) O(n3) 就完事了。于是我写一步测一下,很快就写完了 O ( n 3 ) O(n^3) O(n3) 的正解。经过简单的卡常,最大的样例只跑了 0.7 0.7 0.7 秒多一点(PS: 第一次跑了 0.77 0.77 0.77,卡常后是 0.71 0.71 0.71 ),回想到评测机会更快,我就放心了。
去上了个厕所,收拾了一下心情。准备莽“难题” C 和难题D。
开 C。想了半天,似乎枚举啥都不对,于是我果断写了个暴力走人。回想到 A 感觉不太稳,于是就拍了 A。
尼玛的,怎么一拍就挂了呀。
用小数据拍了几千组发现了一个易于调试的错误。当我仔细调试的时候,我发现链表维护是不正确的。于是我第一反应就是线段树上二分。但是线段树未免有些难写,于是我就写了个二分套树状数组。很快就写完并过了自己的手造数据。
好,对拍过了。
D 想到写个 10 10 10 分的暴力,但题面啥也没看懂……太离谱了,我 A 误解了一次,B 看漏+看错,而且我平时模拟赛也几乎没有这样的情况发生。这锅难道不是出题人背而是我背吗?
最后时刻试图想 C 的正解,但是并没有想出来。于是我看到了一个性质分,后就写了个乱搞上去,不知道能不能过这个性质分。
最后检查检查,比赛就结束了。
结束时突然发现分数估错了,C 题的测试点分治不是 5 5 5 分而是 4 4 4 分,因此这题我就只有 40 40 40 分了/kk
期望得分:
100
+
100
+
40
+
0
=
240
100+100+40+0=240
100+100+40+0=240。
测试得分:
100
+
100
+
28
+
0
=
228
100+100+28+0=228
100+100+28+0=228(做
60
60
60 个俯卧撑)
实际得分: ?
Part 3
在外面恰了顿饭,回到家开始在 INFOJ 上测程序。
好耶!A,B 都过了!我终于有蓝勾勾了!
看洛谷讨论区,突然发现 C 的复杂度不是 O ( 2 n 2 2 n ) O(2n 2^{2n}) O(2n22n) 而是 O ( T 2 n 2 2 n O(T 2n 2^{2n} O(T2n22n 的,瞬间慌得一批。我不会就只有 A,B 有分吧/kk
听 yzh 和 pmt 说,C 题是这场比赛的签到题。在洛谷上逛了一圈,发现 C 题过了的人似乎比 A,B 还要多。哎,我还是不会这种像构造一样的题吧/kel
Part 4
发现我的分数是我所有认识且水平与我相差不是很大的人中的倒数第一。
yx,jtl,wrz,zjd,zxb,jcy,cy,dsj 都比我高。sjc 早就远远甩开了我,这一次当然也考得比我高了。
高一的 kyl 比我高。另外我的两位比我强得多的高二学长 pmt,yzh 都估分上了 300 300 300。
全输在 C 上了 /kk
Day 2
停了一周的课。我得好好学文化课了。