NOIp2021 原地退役记

JS-0013

Day -2 - 2021.11.17

打了场 cmd_blk 出的模拟赛,T2 T3 都是做过的原题(AGC010C & ARC092D),于是直接摆烂交暴力垫底,成功为我的 NOIp 涨了 rp(u1s1 还记得 CSP 前最后一场模拟赛认真打了卷了个榜 1 结果 CSP rp 暴跌,不会做 T3,所以这次考前最后一场模拟赛我绝对不会好好打/cy)
晚上在家刷 NOIp 难度的贪心 & DP。

Day -1 - 2021.11.18

早上在模联教室继续刷贪心 & DP。
中午提前回家到附近某加医院做了个核酸检测,挺离谱的,本校考试都要提供核算报告,不过想想还是算了,做了就做了吧,反正也没浪费多少时间(
晚上继续回学校卷题。

Day 0 - 2021.11.19

Last day. 退役前的最后一天。
早上在学校补博客 + 复习考点,u1s1 自从 11.6 以来我做过的题一点没补,将它们一股脑儿拖到最后一天属实挺费事的,所以补了一上午还没补完。
下午回家到玄武湖跑了 4km 调节下自闭的心情。
晚上在家思考人生,思考着我从开始学 OI 到现在所经历的历程。诚然,明天的 NOIp2021,可以说是我在学 OI 路上第一次真正的历炼,因此我也不得不做好相应的心理准备:考得好,则继续准备省选;考得差,则退役做 whk 人。有人说,搞竞赛就相当于在高一或高二的暑假提前参加高考,但我认为与高考完全不同的是,高考即便考不到特别高的分数仍有个不错的学上,而竞赛则截然不同,学到最后的结果无非三个:Au、Ag 和等于啥也没学,而对于前两者,想要拿到这样的成绩,进省队是必要条件。一想到这一点,一想到明天要与全省乃至全国众多高水平选手同台竞技,我心里就多了份紧张。但同时立马又平静下来了,其实明天的考试也不是唯一的机会,如果真的考得不咋样,退了就退了,搞搞其他的东西也不错,你又不是 djq,你算老几啊,OI 界又不缺你一个人。
由于是 NOIp,需要用到的算法并不算多,因此没有打太多板子,就稍微回顾了我认为在 NOIp 考点中比较难的三个算法(2-SAT、Manacher、exKMP),打了个板子,又做了道构造题(AGC030C)就准备睡了。下午跑步把自己跑累瘫了,所以很快便睡着了。明天 rp++!

Day 1 - 2021.11.20

7:30 起床简单吃了个早饭就去考试了。一路上谁也没碰到。
怀揣紧张的心情进了考场,发现 jgh 和 csy 和我一个考场,先 mol 一发神仙涨 rp。打了打缺省源,洗了把脸,就准备考试了。
看 T1,一开始没看到 \(x\) 数据范围,以为是 \(10^9\) 之类的,还在计算暴力向后找的复杂度,结果一看数据范围,\(x\le 10^7\),那不 sbt 吗,直接调和级数晒一下都能过吧,于是赶紧开始想,大概在 8:35 时就写完了,一测大样例,1.008s,加了个快读快输就 0.7s 了。
看 T2,\(n\le 30,m\le 100\),显然这个数据范围要么是折半搜,要么是状态较多的 DP,而前者几乎不可能,因此只可能是后者。想了 15 秒大概想到了一个四维的 DP,于是直接开始写,写完直接一遍 F11 就过了编译并过了两个样例,再一测极限数据,0.0几秒,这不直接稳了吗,于是扔了不管
看 T3,这个操作不是某 efz 联考的 T2 出现过的吗,它等价于差分数组的置换,看出这个性质以后 48 分做法就显然了。但显然我的目标应该不止步于这个,因此我开始思考如何优化。直觉告诉我这题应该有个什么性质有待挖掘,因此我写了个暴力全排列的程序打了个表发现了差分数组的单谷性,也就是说,如果我们从小到大加入差分数组,那么每次加入的数肯定会插入在当前数组的最左端或最右端,根据这个思想,我想了几分钟便出了个 \(n^3a_i\) 的做法就是区间 DP,然后再额外记一维表示目前 \(\sum\limits_{i=1}^nia_i\) 的值,这样大概 72 分稳了(后来事实证明我 sb 了,这个做法稍微魔改一下就能得到正解,因为它压根儿不要区间 dp,直接线性 DP 即可 AC/zk/zk),然后发现这个做法常数小的一批,于是决定用将状态用 unordered_map 记录下来并跑了下样例 \(4\),发现样例 \(4\) 只跑了 1.2s,根据我的经验,NFLS 本地的机子比 NOI 机子要慢一些,因此带着信仰我交了个 unordered_map 的版本上去就扔了。
看 T4,看了下部分分,感觉会 44 分,而那时已经 11:00,时间既不算紧,也没有宽裕到有足够的时间刚正解,因此决定打个暴力就走人。写着写着发现这暴力不是一般得难写,光是 24 分就写了我 40 分钟,那个没有 3 类道路的也是,虽然思路不难但就是写不对,写着写着就写到了 9k 302 行,简直吊打我之前写过的最长的程序(287 行),好在最后 20min 调对了。
最后 20min 实在无聊去拍 T2、T4,没拍出错来。最后 8min 测了下四个题的边界数据,发现 T3 \(n=1\) 时我会输出 \(4557430888798830399\),于是赶紧加个特判(不过莫名感觉 CCF 应该不会卡这么细的点?)。最后 5min 查了查文件名,然后对着 T4 的题面直竖中指咒骂出题人就差不多结束了。
最后分数出来大概是 \(100+100+[72,88]+44=[316,332]\)
出来以后问了下整体情况,jgh 和我差不多,大概也是 \(316\)。lxr \(300\) 左右,第三题写的乱搞不知道能拿多少分,ymx 第三题也写的退火,第四题他说会正解可来不及写了,csy 似乎 AK 了?我直接狂暴膜拜/bx。wjz 第三题写的好像也是个四方的东西,但他样例 \(4\) 只跑了 0.7s,那应该挺稳的吧 orz,和他一交流才发现自己 sb 了,最后三个点直接把有用的差分值记下来就行了,我怕不是 sb/wul。于是我与 wjz 就成功拉开了 12 分的分差。高三 ztr 学长一直在做 T4 最后把 T4 切了,orz 切 T4 的神仙。djq 不用问自然就知道他 AK 了/se。然鹅我找了一圈都没找到 ycx 所以也不太清楚 ycx 考怎么样(
出来看 LA 群发现 ZJ 有一车 344+ 的,所以只能庆幸自己没有出生在 ZJ,要不然就真要退役了/dk。傍晚民间数据出来测了一下,发现没有挂分,T3 也没能过 \(n\le 400\) 的数据,所以最后分数出来大概就是 \(316\) 分。唯一有些遗憾的就是 T3 我那个做法很接近正解了,但是我考场就是降了个智没有写出正解,否则我可能有 \(344\),难受啊难受/ll,希望不要因为这 28 分丢掉了省队。不过既然都考完了也没啥好遗憾了。
所以说,令人自闭的 NOIp2021 已经结束了,忘了它吧。迎接我们的将是 2 周的 whk 生活,听说下周要期中考试补考?挺离谱的,只有一周复习时间,只能祈祷不挂科了/dk

Day 10 - 2021.11.29

啊啊啊啊啊啊啊啊啊啊我 T3 怎么多了 \(16\)
\(100+100+88+44=332\)

原文地址:https://www.cnblogs.com/ET2006/p/NOIP2021.html