@游记@ NOI2019
@day -1@
花了一上午坐火车到了广州。
花了一下午坐地铁到了苏元。
花了一晚上颓颓颓(看群里的人水群)。
花了一晚上认真地复习明天的笔试。嗯对对对。
@day 0@
笔试日。
昨天晚上太困了(因为辗转了大半天啊)所以早早睡了,游记也没写个啥子。
甚至没有写wxh住我隔壁的隔壁这件事。哇啊啊今天去吃午饭的时候撞见他,好激动啊啊啊啊但是还是要假装一脸冷漠地默默走掉(迷妹行为)。
学长建议我去要签名?哇啊啊完全没有勇气去要啊⁄(⁄ ⁄•⁄ω⁄•⁄ ⁄)⁄。
咳咳我很冷静。对我很冷静。
顺便结识了另一位来自其他地方的室友(同校的另一位室友:你为什么会这么熟练啊!你到底交过多少次友了!)。
上午听到 6:20 就有起床铃,起来过后一看 “woc怎么才6:20” 然后趴下(顺便把我设置的 7:00 的闹钟关掉等我室友叫我起来)。
结果室友来喊我的时候,一看才发现 “woc怎么就7:50了”。最后匆匆忙忙去食堂拿了两个冷馒头和一杯牛奶当早餐吃。
食堂内外的温差之大。。。据戴了眼镜的同学说出食堂的瞬间眼镜都起雾了。。。
还好没有错过精彩的开幕式。
【欢迎收看 CCF 大型出锅现场】
不断重复地唱 “零零零” 明示复读机day1 三题爆零、day2 三题爆零。
dzd 居然上去讲了两次话(再 放 送)(dzd:我们这个奖项不同于其他奖项,我们是不收费的)。
给教师颁奖的时候,根本停不下来的读榜机(指前一类奖还没颁完就继续念后一类奖,还好有主持人救场)(余桃中学2333)(——团长,团长你在做什么啊团长!——不要停下来啊(指读榜)!)
然后正式开幕的时候出锅了。本来是有一个各领导上去按住屏幕然后播放小鸟破壳变成凤凰的动画的环节,结果操作失误,播放了好多次动画都直接在中途切掉了。(暗示CCF的鸽子本质:你看啊,鸽子破壳了!)
另外,灯光师可能将会收到整整一箱的刀片。
开幕式过后刚想走就被拉去合影了,等待合影的时候还被迫拉去背笔试题(学长:程序和软件的区别是什么?我:???它不是考选择题吗?学长:这样可以帮助你加强记忆。我:???)。
吃午饭的时候看到食堂有块板上写着 ABCD 套餐为什么没有套餐E,这是在歧视E类选手(误)!
午休颓了一会儿,然后准备下午的笔试。
好像主文件夹里已经有练习赛的题目了。打开一看,“优秀的拆分” 和 “I 君的商店”。woc 我没有补往年的 noi/wc 的题啊。。。
过了一会儿发现时间已经过了 14:40 了但是比赛还是没开始心想可能又咕咕咕了结果发现是电脑显示的系统时间和网站的时间不一样。。。
花了 5 分钟做完笔试,然后开始写试机题。死活不放心笔试,做一会儿就回去看几眼。
笔试成绩出来没有问题,再次确认练习赛题目一道都不会切后,就回去吃饭了。
晚上有国家队的见面会,去报告厅看标题发现没有zzq和wxh原本想直接走的结果听了一会儿发现有点儿东西就没有离开。
(发现原来我隔壁的隔壁住着三个国家队。)
中途被叫回去拿密码条,回来发现刚好开始讲题不对啊这不是我想听的东西。发现讲的题自己一道都不会切,感觉自己要滚粗了。
回寝室过后尝试凭借冬令营讲题的记忆写 “I 君的商店”,然后写着写着写不下去了就直接睡了。
【某学长:怎么办它明天要考什么啊。。。啊!斜率优化!我斜率优化还没有复习!】
【某另一位学长:哎呀你放心,斜率优化都出来多少年的东西了。这玩意儿都成套路了。它绝对不会考到的。】
【flag 立得飞起】
@day 1@
第一试。
考前尽量压抑住自己的紧张感,想着多写点暴力多得点分就好。
这次又咕了一分钟。打开试题大概扫了一下,除了第三题的题面非常短感觉就非常毒瘤以外还好。
读完题先花了十几分钟写了 t1 的 O(m^2) 的暴力,根据式子发现这个长得跟斜率优化有点像(加上昨天晚上学长们的疯狂押题)。
但是为了求稳,等暴力程序过了大数据后开始玩第二题。
t2 看了几眼大概想了个区间dp,猜想它的状态并不多,打了个表发现果然是这样。于是 50 分的部分分有了。
剩下的 50 分没有限定权值的范围,感觉和前几天郭大给我们考的一道题的套路挺像的:将 dp 状态等价地写成分段多项式函数的形式。
但是总感觉这个做法很复杂,不大可能写得出来,又想了十分钟左右感觉没有思路开始写暴力(结果真没想到这个是正解)。
敲完 t2 的暴力发现差不多过了一个小时四十分钟,开 t3 的时候感觉时间还比较充裕。
t3 的画风感觉非常贪心,于是自己 bb 了一个 O(n^2) 贪心边写边想大概花了半小时写出来,然后抱着侥幸心理开始测大样例。
结果惊讶地发现好像跟样例输出是差不多的?感觉十分不可思议。(现在想起来为自己的眼瞎感觉十分不可思议)
果断放弃写稳定的部分分暴力直接回去 t1 写斜率优化。此时时间还剩大概两个小时多一点。
再把式子推了推发现的确是斜率优化的经典式,回想了一下斜率优化在干些什么,然后发现这道题的斜率和横坐标都是单增的。非常愉快。
然后发现自己只会 O(nq) 的算法然而 n*q = 10^8。。。心理暗示了几遍 “斜率优化常数小” 开始写。(出去过后和 zxb 大佬讨论了一下发现用不着每个时刻维护每一个点对应的单调队列。。。只需要用得着的时候再维护即可,这样就可以直接 O(m) 线性跑了。。。)
写完过大样例后算了一下,发现如果不失误我 day1 可以上 200(hhhh)。
还剩一个小时多一点,再看了一遍 t2 确认自己真的不会切过后,开始思考把 t3 优化到线性时间复杂度。
结果在优化的途中发现某一次测不过大样例了,内心特别慌张 “不会我原本的程序写挂了吧”。
然后把原本的程序调出来测,仔细一条一条对,发现过了很多原本过不了的数据。但就是过不了第三个大样例的第一组数据。
反复确认过后,终于认识到了事实:我贪心写挂了。此时还剩 40 分钟左右。
还好我考前就做好了自己是摸鱼的心理准备。
其实后面写点 t3 简单的暴力说不定可以多得点分,不过有可能因为当时太过慌张了,所以反复地去看 t1 和 t2 是不是文件输入输出有问题,或者说其实没有过大样例只是我看错了(这个时候才发现 diff 是个好东西),一直看到最后。
感觉自己还是应考能力不足。
中午在寝室边颓边等测评结果。结果旁边一直有人在说 “还剩多少分钟就有分了哦” 搞得大家心里非常慌张(不过我是不慌张的反正都已经写挂了)。
下午去看发现 t3 竟然还有 28 分,内心还算比较满足(听说我们学校有人 t3 贪心直接爆零的情况。。。感觉自己还算好的)。
不过认清了自己只能银牌的结局。
听说还有什么嘉年华,不过好像都是运动加上心情不佳所以没去(完全没有运动才能的某人)。
晚上听讲评,t1 和 t2 其实跟我想的差不多,t3 的标算给出的是神仙贪心,不过好像可以用模拟费用流来解。
突然醒悟过来原来这种类型的题可以往网络流方面想。。。
回寝室睡觉的时候还是有些不甘,不过还是尽力告诉自己 day2 不要管那么多,正常考就行。
顺便体育馆的太阳在某些时刻真的很刺眼。
@day 1.5@
社会活动日。
听说今天也可以叫 day √2?
上午去博物馆玩,不过时间太短了连坐车来回都花了接近 2 个小时。
群里一堆人在根据博物馆内的东西寻求明天题目的暗示(可明天的题目已知的信息也就是一道交互题。。。)。
下午颓颓颓,竟然从午饭完颓到了晚饭。。。
晚上终于可以见到 wxh 和 zzq 了,内心激动。
(Q:你的鼻子为什么这么长?能不能展示一下把这瓶怡宝卷起来?)
(Q:如何评价 tourist 对你的评价?(Good job! wxhtxdy!))
国家队的题照样一道不会做,反正 day1 考过了已经看开了。
@day 2@
第二试。
因为有了 day1 的经验加上昨晚国家队见面会所讲的东西,决定采用每道题暴力+正解(?)一起写,将 5 小时三等分,最后留时间检查的策略。
看到目录里面的斗主地,再次加强了内心的滚粗感。
T1 看了几眼,发现是道二维线段树建图模板。
再一看内存限制 128M,意识到这道题果然没有这么简单。
想到 KD-tree(因为我刚好没有复习所以感觉一定会考)口胡了一下感觉还行,于是开始码。
回忆+写+调试了大概一个小时多一点,写出来一个用 KD-tree 优化建图的程序。然后发现跑出来还没有二维线段树的点数优秀。
感觉自己学了一个假的 KD-tree(其实是自己学了一个假的 dijkstra)。
内心祈祷能够玄学一下,开始看 T2。
简单的写了一个暴力 dp,开始往多项式方面想(事实证明这是个错误的决定。。。不要看到 998244353 就 ntt。。。)。
在草稿纸上写写画画了半小时觉得不好做,感觉这样的神仙计数题自己也做不出来,还是玩交互有意思些。于是就滚去玩 T3 去了。
玩交互题当然是要根据数据范围想算法。
简单写了一下 O(n^2) 的暴力,观察 AB 的 check 操作都是 0 次,和最大数据有差异。因此 AB 肯定是要单独提出来讨论。然后思考 A 这个部分分。
看到类似 17~19 的数字感觉非常 log,于是想分治怎么做。
发现好像可以先扫描一遍将整张图分成两组,其中组内没有边。然后在某一组 modify 一半,再在另一个组 query 出状态改变的点进行递归。于是写写写就写出来了。
再看 B,发现是给定一棵树的拓扑序(即一个点的父亲编号一定比这个点编号小)。
想了一会儿,觉得应该是对于每个点寻找这个点到父亲的边这样一个思路。然后依据拓扑序 modify 并 check 的话就可以只对某个点的父亲进行操作。
于是考虑到根据二进制位分组求解,求出每个点的父亲是否含有某个二进制位。
写出来发现过不了,然后意识到要将 modify 的东西还原才行。于是就顺利得到 AB 部分分。
再看剩下的 CD 部分分,感觉这个操作次数的限制非常像随机化算法。。。手玩了一会儿链的数据怎么弄发现自己不会,看时间还剩一个小时半滚回去继续 T1 得更多部分分。
吸取 day1 的教训,决定能写多少暴力分就写多少。于是 T1 写了一个一维线段树优化建图的部分分(好像最后写挂了。。。),卡了卡 KD-tree 的常数(但始终没有跳出“优化建图”的思路)。
还剩 30 分钟时觉得写二维线段树来不及了就暂时搁着再去看看 T2 能不能多 10 分。
结果 T2 还是陷在多项式的怪圈里出不来。
下午去听评讲,发现 T1 可以 KD-tree 上直接维护子树最小值跑最短路,T2 可以打表(所以我就学会了有什么不会的题果断打表的技巧),T3 的确是随机化算法。
然后一堆人打表 T2,然后分数线就上去了。
今天体育馆的太阳也依旧刺眼呢。
@day 3@
颁奖日 && 闭幕日。
一直睡到中午才起来(反正我差一张早餐券。。。正好今天早餐午餐一起吃)。
听说有人凌晨 3 点睡着睡到中午 1 点。。。
下午闭幕式,打银的夏令营选手并没有什么资格坐在一楼,于是乖乖来到二楼。。。
一开始觉得一楼二楼没什么区别,后来发现并不是的。。。灯光师开始集中向二楼轰炸。。。
全程没怎么看节目(想看但是眼睛受不住),不过对一个把民族乐器当摇滚乐打的节目印象深刻(你家的民族乐有架子鼓)。
话说广州二中的补锅能力还行,闭幕式一开始本来要播个视频,结果好像和那个鸽子凤凰破壳的视频一样出了什么问题放不起。
在闭幕式最后终于两个视频一起补锅,算是有一个完好的结局吧。
下一站是长沙一中好像是一个很“红”的学校。
希望我能够去吧。
这趟旅途,以暴雨为始,以暴雨为止。
@后记@
最后好像是 410 左右,比银牌分数线 390 稍高一点。
不过在正式选手中对应的排名并没有前 100。
大概总结一下:
本次 noi 有两道题有些失误:d1t3 和 d2t1。具体表现在写出伪正解过后没有敲稳定得分的暴力,导致最后就爆炸了。
然后每一道题而言:
d1t1 是一个签到题(不过能够放过暴力。。。变成了真正的“签到题”是嘛。。。),好像因为斜率优化写得有些不好只得了 95。
d1t2 是一个大码量的套路题,估计考场上也不一定能写得出来,50 分是一个合理的值。顶多再多写个 10 分的暴力。
d1t3 是一个模拟费用流的套路,但是因为考前网络流练得太少,没有看出来。。。
d2t1 也是一个较简单的题,因为对 KD-tree 的掌握不够所以贸然下手,导致浪费了较多时间。不过这道题方法倒是挺多的。
d2t2 是一个较朴素的计数题,出题人的正解很巧妙,不过可以打表。。。
d2t3 是一个交互题,据说很 IOI,比较重思维量吧,反正我是做不出来的。。。
策略部分,day1 的策略算是有些糟糕(可能是因为较为正式的模拟赛比较少,没有构建合适的策略)。
比较好的策略像是 day2 的策略,即每道题暴力+正解均分时间,最后留少量时间检查细节(不要留太多,没有意义)。
终究一句话:技不如人。我果然还是太菜了。