咕了正好一周的 NOIp 游记,是我第一篇游记,也是一张寄往四年后不得不退役的、即将画上青春句号的自己的,包含了自己的青涩、期待与成长的信笺。
Day \((-\infty, -7)\)
CSP-S 2023 打炸,135,很清楚蓝勾是没了,所以每天都在想到底能不能去 NOIp。
问过并没有教过我什么的教练,回复到应该要一等奖才能去。自我安慰道县城教练信息不那么流通,公示之前还是不要下定论为好。
Day \([-7, -1]\)
-7 天的时候教练在群里发了通知,JS 135 及以上的初中生可以非正式地正式参加 NOIp。为了培养省后备人才blahblahblah,105 及以上的初中生可以非正式地非正式参加 NOIp——我认为可以叫做现场 vp。去另外一个考点做题,比赛完也公示代码,但不予评测,那去了是不是没什么用。
虽然消息看起来很正式很真,但因为可能对小县城教练的偏见,仍然不敢高兴太早。
直到教练私发了我初中生专用 NOIp 账号,登陆后信息栏出现的是我的名字,才对他有一丝敬佩之情。
备战!加训了数位 dp 和树形 dp,也再打了打我仅会的数据结构,上 abc 刷了一些 tricky 小思维。
JS 在 -5 天的时候发了通知,果然还是在南京,正式参赛在南航,非正式在南外,唉,本来还想着去参观一下南外的。还要提前一天报道,看来要在南京住一晚了。
教练通知太仓一共 4 个高中生和 2 个初中生打 NOIp,4 高中男 + 1 高中女 + 2初中男,颇有点像动画片主角团配置。除了我他们均来自一所高中(太仓唯一的好高中——太仓市高级中学),原因显然 —— 他们 whk 太好导致的(实际上我凭借着刚刚拿到的普及 1= 也能保送到那里,但是要下学期,而且我也不一定愿意去)。报道那天下午一点半一起坐高铁去南京,妈妈还跟我说太仓今年九月份刚开通的到南京的线路,还说爸爸妈妈好久没有去过南京了,要跟着我一起去。虽然我想一个人逛南京……
报到前一晚居然睡得还行,至少比 CSP 前好太多了,怎么会事呢?
Day 0
大概是上午九点醒的?醒的时候懒得做什么题目了,看了一些我学过的知识点的博客,大概是期望能理解地更深刻一点,考场反应迟钝的时候也不至于本质在干什么都不知道。但是早上不做题感觉有点太颓,而且好像提前一天再熟悉一下 NOI linux 比较好。所以早上就启动了那台尘封一个月的台式机,做了两道数位 dp。
午饭可能不是很好吃因为我没有记住呜呜。
经过半个小时的车程到了太仓高铁站。说实话高铁站虽然看起来还挺大,但是结构十分单调,就像一个超大型火柴盒一样,应该无论站在哪里往四周看去都是等待区的全貌。每两个检票口中间插了两组两排的座椅,总感觉虽然富可敌一般地级市,但是审美还是小县城的审美。
找到了高贵的太仓市高级中学人。四个高中男生两个两个对着面坐,看起来似乎都有一点老成,太高带队老师坐在他们旁边。那个初中生在另外一组两排座椅,那个女生也坐着,羞涩地戴着口罩,和她妈妈坐着。那些高中生则找不到他们的妈妈,这么独立!
但是他们都穿着太高校服。大概是因为周五的原因,他们刚吃完午饭就赶过来吧。只不过我又成了最不一样的那一个。
我在教练对面坐了下来,不太希望有人找我讲话因为我怕尴尬,虽然真的没有。
玩了 15 分钟手机就开始检票,上车!很巧的是我们都在一个车厢里面,不知道是不是家长教练刻意为之。
果然是的,和爸爸妈妈坐在一起有点挤。
到了南京高铁站后就都跟着带队老师走了,那些父母应该都去酒店开房了。我们就跟着老师在硕大的南京高铁站里面走去做地铁。路上老师闲聊问我的分数,尴尬地说出 135,老师点点头,告诉我太仓最高分是那个女生,150 应该是太仓唯一的一等了。这么牛。
后来地铁到站后就徒步走去南航,10 分钟左右,这么近。到了校门口教练就把我们晾在门口自己去交诚信承诺书和拿学生证和带队老师(?)证了。出来的时候手里只有一个带队老师证,吐槽道今年不发学生证只发带队老师证了。
后来就是老师带着去吃饭,因为已经五点半了,不知道六点半能不能吃到一口饭。女生跟着妈妈走了,初中男生跟着爸爸走了,5 个大男人觅食。
老师忽然道:吃地锅鸡吧,皆应之。
高中生是真能吃,五花肉(承认这个是我点的,但是我没吃上几口呜呜),小酥肉,土豆,牛蛙……他们吃肉吃得真的好快,但是饭没吃多少,吃到最后他们都吃饱了,饭还剩半盆,老师觉得有点浪费,热情地都盛给我,美其名曰让我长身体。因为最后没啥肉下饭了,我只能大胆冒险盛一碗烧地锅鸡的辣汤来下饭,正准备倒进碗里突然想起我吃辣的好像容易拉肚子,明天赛时要拉就惨了,但是他们每个人都用慈祥地目光紧盯着我,有点起鸡皮疙瘩,想着吞完算了。塞进嘴里鼓起勇气一咽,整个人舌头都感觉没有味觉了……
老师和三个高中男生都住在南航旁边的如家,有家长带的都在不同的酒店。老师带着我先在两个高中生的房间坐一会,他们两个坐在两张床上,一个在打王者一个在玩重生细胞,我坐在书桌前又在做数位 dp。 我也不知道为什么有莫名预感今年会考数位 dp。快九点的时候老师讲了讲明天的注意事项,最迟六点半就要起来,因为七点一刻就要排队了。讲完老师也叮嘱高中生不要熬夜打游戏,送我打车到自己酒店了。
到酒店先罚坐看妈妈给我整理明天 NOIp 东西,主要是吃的,之后洗了半个小时的澡以后又是把能祝的 rp++ 都给祝了,十点钟睡下,想了很多,辗转反侧,应该是十一点睡着的。
Day 1
赛前
六点一刻就醒了,打开所有算竞网站看看动静,刷刷知乎和B站,妈妈就来叫着吃早饭了。酒店自助早餐,很丰盛,但是一向早上醒来马上吃早饭没什么胃口。就吃了点肉吃了碗米线,喝了杯咖啡提神收工。
打车,7:05 到了东门口,好多妈妈牵着好多小朋友的手。老师在和高中生在肯德基点早餐,他们说人太多堵餐了。
南京也这么冷。寒风中转圈,到处看小朋友,总算 7:20 等来了他们。然后愉快地和陪我一起等的妈妈说再见,6 个人背起了行囊。
他们原来已经排了这么长的队了吗?一共就三个考点队伍,好像每支队伍只有 40 人左右。其中 我们 5 个男生都是在第一个队伍,那个女生去了第三个队伍,让我合理推测应该是按照 S 成绩排的。想起考前和 TE 约要面基,但是因为门不一样不太方便。他 S 起飞,所以合理推测我们这里都是 150 及下人了。想了想感觉还挺有意思,5 min 进楼了,打开 QQ 最后看看,发现一位常州OIer找我面基,打开了位置贡献,没想到他就排在我后面的后面。害羞地打了招呼后我们就被带去考场了。
试机
照常排队进考场,等了貌似十分钟。南航信息教室是真的好大。但是相邻两个人靠得有点紧,但是有部分挡板存在。挡板貌似是非常普通的蓝色文件夹上撕下来的一块板子。我右边是一个太高人,左边貌似没人,凑近一看上面放了一张纸说电脑坏了请换座位到xx号。偷偷拿过来又多了张草稿纸,好耶。而且左边不知道为什么每挡板,如果真的有人坐在旁边胳膊要碰到一起了,确实有点挤。那个常州 OIer 坐在我后一排的斜对角。
也不太清楚太高人的水平,之前 OIerdb 简单盒了一下感觉比我强不了多少。我会的板子貌似都非常没有水平,所以打算打个线段树区间加区间和热身一下。打了 10 分钟调了 5 分钟,往后一靠偷瞄他在干嘛,怎么只对着一个 int main 发呆。后来把每道题目用到的缺省源打一下,然后写两段文字表明是我。打开 vscode 调一下文字大小工作目录,建好文件夹,就 8:30 了。
赛时
读题
密码 8:35 的时候才发,但是测试数据还没找到。先过一遍题目。T1 对比往年怎么看上去这么抽象,T2 看上去就不是太好想,T3 感觉很复杂,T4 反而很显然地被我一眼看出了可以直接第一位设考虑到了第 i 天,第二维设已经跑了 j 天,每次转移只要考虑这一天跑或不跑的 \(n^2\) dp。但感觉不好优化。先看一眼数据范围能拿多少分,36,还是有点丰裕的!再看 \(100\%\),\(n = 10^9\) ???我知道这个数据范围能做的只有矩阵快速幂优化 dp,虽然我也不会,仅仅是听说过。
读完题大概是 8:50。
T1
题目浏览完了,开始做吧。静下心来读读 T1,哦,读懂了。就是有 \(n\) 个等长字符串,可以任意次交换两个任意字符串的任意两个字符,对于 \(i = 1 - n\),问能否有一种合法方案使得字符串 \(i\) 的字典序严格大于其他字符串。任意字符串的任意两个字符?那不是随便换,输出都是 1 得了。读了好久才发现单个串之内任意交换。那一个串任意交换意思不就是最后能排好序嘛。又因为长度相同, 所以直接把 \(i\) 从小到大排序,其他从大到小排序,然后直接暴力对比其他每个字符串检查就行。看起来是 \(n^3\) 的,应该能水个 90 分?因为感觉复杂度虽然不是太对,但是感觉不好卡,随机数据肯定不满的,先跑大样例测测结论再优化。结果大样例都对,而且瞬间出结果,感觉时间还不到 500ms?大样例这么随机的。首先注意到字符串只有小写字母,值域非常小,所以排序的时候可以使用桶排。但是比较的时候真的有必要一位一位去比吗,能否也能利用贪心+桶的性质快速在字符集大小计算量内完成比较?模拟两个桶的指针在划动的过程中,我突然灵光迸发,弹出一个“如果一个字符串内的最小字母比一个字符串内的最大字母小”,那么直接把最大的字母和最小的字母碰面即可,肯定是能小的。否则最优情况也是恰好等于,然而题目保证没有任意两个字符串相等。(实际上就是有了这些性质,暴力字符串比较时间复杂度实际上是对的,就是 \(O(nm \log m + nm)\))和刚才暴力字符串比较写了个对拍,一秒就跑了 20 组,看了几百组都没啥问题,放心的挂后台做其他题了。
写完 T1 对拍大约是 9:40。
T4
再研究了一下数据范围,看了 \(n = 10^9\) 的几个特殊性质,看得实在头疼就无脑上 dp 了。
中间因为一次没有注意到题目说到第 \(x[i]\) 天至少 \(y[i]\) 天发呆 15 分钟,注意到 \(x[i], y[i]\) 是可以相同的,又发呆了 15 分钟。检查检查跑了跑大样例都没有任何问题这题就先过了。
此时居然已经 10:40 了。
T3
因为 T2 一开始让我看得头疼,所以我选择先开 T3。
去尿了个尿回来静下心来读题就是有两个序列,每个序列最后一个数字会延伸无限长。可以在每个序列任意一个数后面插一个同样的数,问能否使得一个序列的每一个数都大于另外一个序列。
花了一个多小时在纸上不段画序列试图用脑子中的启发式贪心来找到规律,结果最后只推出来一个序列的第一个数和最后一个数必须大于另一个序列的第一个数和最后一个数。看了眼数据范围好耶有十分。但我知道不能像提高赛时一样死磕一题了,于是决定先看 T2,如果打得差不多了再回来想也不迟。
现在已经 12:00 了。
T2
发现只有 10 个点?说明题目也不是特别难,要是我会做 T2 但因为时间分配问题没打完不是亏死。题目其实很快就读完了,正准备思考但是发现只有一个小时,为了保险还是先把暴力打了再思考。1、2 两点 \(n \leq 10\)
,那不就可以 \(3^{n}\) 爆搜嘛,火速写。手速飞快测完两个样例还是花了 15 分钟。再看下面两个点,只有赋值?那不管初值是几不是都会被覆盖,直接模拟一遍然后数一下最后有多少个 u 不就行了。因为刚才爆搜也要模拟一边,所以直接抄上来差不多了。
又想了 15 分钟关于建图或者是并查集的想法,知道这点时间根本不够无奈只剩 10 分钟只能收手。
检查写过的所有程序文件读写,数组大小,边界情况,还是觉得紧张就把所有数组长度统统再开大 1。
老师考试全程都在提醒要把代码放进选手文件夹里,和 CSP 一样我们江苏考点有代码收集系统,可以看到考生提交文件的大小。
老师说因为密码发晚了 5 分钟所以 13:05 才收。叫我们记录一下每个文件的字节数在草稿纸上比赛完等着点名核对。
赛后
一到 13:05 老师就要求全体起立转过身去(聊天)。都聊了聊自己部分分打得情况,不过怎么感觉就我没打 T3 \(n^2\) dp 的?这还能 dp?
100 + 40 + 10 + 36,除反向挂分外最好情况。
出考场还感觉挺良好,会不会正好压线省一?那是不是能去省选?但是也一直在怕 T1 的结论能被 hack 的。再走回酒店的过程中,群里一老哥一开始说我这是标准错解,当时整个人就呆掉了,也不敢问他给个 hack,因为怕自己崩溃。脑子里在想 hack 但是脑子又在阻止脑子想 hack,万一真想出来了我会随机抱一个路人哭吗,可能当时的我也不会做不出来呜呜。
直到那个老哥说他没看到保证长度一致。场外选手是吧。
本来约了和 miao22 互相看一看,但是我从小到大路痴绕了 15 分钟还没绕出来,他只能走了呜呜。
没事明年省选说不定可以见见?
终于绕出来了,那我就先暂时高兴地回酒店了,一下午也一直在水群聊 NOIp,还发现群里有几个人 T1 也是和我一样解法的。但听说他们的解法 T2 也不是很难,虽然我对这种题型一点也不熟悉,但是还是觉得有点亏。
总结:这次 NOIp 主要输点在于 T3 磕太久。如果早点看出 T3 是个 ad-hoc 就应该骗点分就跑,我也不知道为啥我一个刚刚脱离普及组的选手要在一个 NOIp 磕 T3……
之后一些民间数据在晚饭前陆陆续续出来了。虽然不全,但是把 T1 给测了,还是都没问题,放心了。
后来就被爸爸妈妈拉着去逛南京夜市,就不知道走了多久反正就是一块区域都是独立的路边摊,里面卖各种小吃。虽然挺油腻但吃得也挺爽。吃的时候小图灵 T2 数据有了,测了测发现寄,怎么只有 20 分。后来想了想,我超,点 3、4 多测没清空的。整整 20 分真的输麻了呜呜呜。这下省一够呛了。反省了一下为什么 T4 和 T3 多测都清空了,应该是因为 3、4 点没有对应性质样例导致的,下次记得如果没有应该自己手动造一下测一测。
Day \([2, \infty]\)
赛后感受
排除第一次参赛之前只跟着县城教练学了半年啥都不会没过初赛,也排除 CSP-S 150 都没打到感觉合格的普及组选手都不配叫做,但是至少第一年参赛就打进了 NOIp,感觉还是很好玩,挺酷的一次经历,原来我也能和 NOI Au 在一所学校里考试,原来我也能被称作 NOIp 选手了,也有资格和群友们讨论 NOIp 了。
我们在这方面,是一样的。
有什么不一样呢?
我会没什么不一样的。
出分后感受
100 + 20 + 10 + 36,很准。
没什么不能接受的,第一年去省选确实听起来有点妄想,就算去不了我也觉得走到这里,够好玩了。但这次经历给了我权利去说更多——
虽然省选名额分配和奖项还没出来,但是我也亲身经历了第一次挂分的感受。对一个来体验的初中生来说可能没有非常大的影响,但是我看到很多学长因为一些非常微小的细节或者决策而与自己向往的地方可惜地失之交臂,朝着在他们在 OI 中留下的美好回忆,挥挥手,决定退役。我没有资格评价或者安慰,只能为他们惋惜对他们祝好。
我也知道 OI 路是不易,有些结果不是努力了就一定能有收获,但是没有努力是一定没有收获的。我很感谢因为一些条件能使得我更大胆地去钻研我热爱的事物。虽然怀揣着对 OI 同样的纯粹的热爱,但是我的目的和赋予给 OI 的意义与很多人不同。我不善于表达自己的情感,只能说无论我经历了什么,就算失望、受伤,忍受残忍的时候我也始终会看向高光处。因为那里我才能找到我自己,才有可能让自己和他们一样,有可能使本该天真的孩童不经历残忍,有可能给予更多在寻找那一束让自己被看见的光的人温暖。
而且我相信我一定会走到那里。
谢谢大家如果你能看到这里。
标签:10,NOIp,老师,2023,字符串,游记,dp,但是 From: https://www.cnblogs.com/SkyWave20100601/p/17868114.html