GDOI2022 摸爬滚打苟进队记
离谱
Day0
不敢颓废,做了几道雅礼集训2017的题,然后去睡觉了。
见到了纪中的各位神犇,膜膜。
深感自己的弱小。
Day1
T1 是个什么鬼,想了一段时间,Hash+Map+建图+强连通 可行,时间复杂度非常正确。
然后开写,赛时两个小时搞定,测了第三个大样例,懵了,这TM递归定义是这个意思,艹,看错题了,心态有点小炸,调整了一下心态,发现把强连通和合并删了,然后写了个 DFS ,代码立省50行。(其实赛后发现暴力时间复杂度是对的,估计更好写QAQ)
两个半小时之后脱离第一题。
第二题到手几分钟后发现 K-(K-1) 容斥,想到点分治(因为做过 n^k(k>2) 在分治情况下不会多个 log 的题),但是又去想换根 DP 了(ABC一道换根DP题想成点分治),最后在40分钟后想出做法,于是十分高兴,当场开写。
结果比赛结束都没写出来。
赛后发现把多项式讨论部分改成拉格朗日插值会少掉很多细节,但是已经没有但是了,暴力也没有写,心态有点小炸。
于是当场开始颓废,银牌师兄QQ慰问考的怎么样,跟他说了一手我的情况,他说了句:“Day2翻盘是一名Oier基本的素养。”我笑了,Day2 翻盘这得多难,怎么可能,也不见得我比别人强多少啊QAQ。
于是,在 11:40 终于搞定了 MC 满级附魔台,然后去睡觉了。(必须TM吐槽,TM睡沙发都不要睡床,睡床跟夹心饼干一样夹两坨棉花中间,直接热飞,睡沙发的感觉好多了,至少没有像 Day0 一样失眠了)
Day2
赛前感觉很难受,Day1 考差是这样的,6:00 醒来,发现小图灵 T1 90 分,心态有点小炸。(赛后才发现是小图灵数据造错了)
而且因为晚睡早醒,有点小困,磕了两包茶,准备开打 Day2 ,调整心态,不管 Day1 怎样, Day2 我都会尽全力去打的。
调整策略,如果时间较少,代码较难写,则直接写骗分走人,以骗分为主,这是由 Day1 吸取到的经验。
不过说句实话,此时我还抱有CCF造数据卡飞其他人放我T1过直接起飞的妄想
入赛场赛前 10 分钟上了个厕所,TMD 怎么都是坐厕,哎,真的服,讲究上吧。
T1 30~40 分钟搞出来,一个比较有意思的根号分治,赛后听别人说是 FWT/FMT ,额,感觉不像,比赛结束前十分钟把 43 提出前部分 sqrt ,卡了点常。但是忘记写快读了
T1 灵感来源于之前有个容斥,也是以为范围很大,但实际上很多地方可以状态压缩合并求容斥系数,然后在合理的时间内求解的题,我当时觉得这个可能也差不多,就直接手操了个容斥,看看有没有地方可以方便维护的,后发现大于 sqrt 的部分两两不会出现在同一个数字,因此就可以根号直接做了,算了算复杂度,感觉有点分跑不进,不管了,看后面的题。你永远可以相信CCF的评测机
其实当发现大样例很牛马后重新检查了一遍代码,发现了三个错误,这。。。
T2 一眼贪心,化成树就是从上往下推的过程,很快发现了 0,0 0,1 1,1 做法,差个 1,0 ,一个小时后发现可以用 map 维护堆的过程中每个数字必须要去到终点的最有代价,然后可以 log 做,有前车之鉴,狗都不写正解,写了前三个,直接去看 T3 ,写完暴力再回来看 T2 。(而且当时 int128 编译不了,以为是缺头文件,感觉更加麻烦了,就没写,赛后才知道默认 32 位编译器,要开 64 ,虽然赛时自己手写了个丐版 int128 ,但是还是很麻烦)
事实上,我虽然想出来了,但是这种做法是比较麻烦的做法,细节较多,其实也不太能在那个环境下准确无误的写出来,因此实际上就等于没想出来,因此我等于半个没想出来,而咩噗的那个贪心,能证明正确性,好实现,赛场可以写出来,我觉得才是当之无愧的正解,因此,咩噗牛逼,Orz。
想表达的意思其实是赛场真正有效的是好实现的或者能实现的正解,真正的比赛谁管你想没想出来,能不能写出来,能不能那个拿分才是实在的,这其实也是口胡做题的危害,之后我应该尽量避免这种危害的发生。
T3 很神奇,想了 20 分钟类树上的数,没搞出来,后面搞了一下 DP ,恍然大悟,写了个 n^3 急速跑路,但是有点点难写。
事实上我的
你永远可以相信 CCF 的评测机。(因为赛前看了眼去年的题,发现有一道 n^3 n=1000 的题,从这个时候,我便明白,相信 CCF 的评测机是基本正确的)
而且也是因为没有时间了我才没有考虑常数的,而且当时写到后面才发现有个转移是n^4的,还得优化,又花了点时间。
最后只剩 20 分钟了,算了算自己能拿多少分,艹,TM有个 T2 的
其实尝试写了,但是后面又弃了,这个时候检查原有代码是最正确的选择。
然后心态有点小崩。可能是大崩
盘点一下这次比赛的失误:
- 看错题,D1T1。
- 没想清楚代码细节和实现难度直接开码,D1T2。
- 明知道大概率写不出来接着写,D1T2。
- 没有写暴力,D1T2,D1T3。(事实上 D1T2 知道正解怎么做后 40 分暴力很好骗的)
- 没有发现 D1T2 和 D1T3 有个部分分的设定。(事实上 D1T2 如果只写 70 分正解估计就写出来了,讨论量最大的是第二问)
- D2T2 忘记写
n^2\log{n} 暴力。 - int128 失误。(危害可能是最小的失误了,属于是)
AZ,好像没有想象中这么多,我一直以为有 可能已经忘了,虽然不太可能
暴露出来的问题:时间安排烂、看题能力差、码力差、没能正确的预估代码难度和在打代码前处理好代码细节、没写对拍(但是手造了几个数据)、对 C++ 的各种特性运用的不够到位。
还不错的点:心态一直在线(Day1那叫上头,不叫心态崩)、精神不错(比赛前困,一比赛就像打了鸡血一样)、及时的调整策略、赛后才发现的基本没有挂分。
总结完毕,继续游记。
在车上一直玩元气骑士和战魂铭人,哎,可能是最后几次玩了,回去学文化课,那个压力我不知道几时才能等到颓废,哎。
赛后出来,发现 Day2 我的分数并没有吃亏,只是感觉翻不了盘,Day1 没写暴力才是最大的亏。
UPD:小图灵前四道题目数据出来了,没挂多少分,目前226,后发现 T1 最后一个 Wa 点数据有误。
事实上这篇游记是第二次施工,删掉了第一次没放出来的游记的很多内容,当时是真的觉得进不了队了,尤其是在写游记时发现还有评分规则这种东西,心态大崩,写完后直接去学化学了,现在突然苟进队了,删掉了一些很惆怅的话,毕竟谁能想到发生这么多意外竟然还能苟进队,应该靠的就是 CCF 的神之机和基本一分没挂的代码了。
不过我是真的没有想到 T3 输个数字都能有十几二十分啊。
不过等分期间小图灵的跌宕起伏也代表了我心态的跌宕起伏。
就在某天小图灵出完所有分后,我是第 17 ,NOIP 第 14 感觉也不太能凭这个翻进队(而且 D2T2 莫名其妙多了很多非 1,0 的情况,然后我多了一些分),于是我跟应该能进队的FQY说了句恭喜进队,就打算去找个角落哭一下然后继续学WHK了。(哭倒不是说我多么心态脆弱什么的,只是我感觉不以这种形式跟OI道个别没法认真学WHK)
结果说完对方也回了句恭喜进队,突然给我整不会了,于是怀着复杂的心情沟通了一阵,越来越给我整不会了,猜测是最后一道题多骗了 16 分,刚好官网出成绩了,去查了一下,真是,是真的离谱啊。(其实后来好像发现没这 16 分也能进,只是垫底而已,好像)
心情突然好了不少,不哭了,学化学去,接着就是漫长的学化学等最终省队名单出的过程,在 4/25 出了最终名单,看着最终名单,无限感叹,这 Day1 分数也能进就离谱。
最终以:100+0+0+100+36+44=280 苟进省队末尾位置。
感叹,太离谱了,这翻盘虽然只是翻了个小盘,但是这经历未免太离谱了,几天都没缓过来。
接下来就是认真准备 NOI 了,认真准备吧,不要留下遗憾。
然后接下来一场AGC做了贼久,ARC被暴捶,什么跌宕起伏,AZ
终于写完游记了,感觉写的好冗杂QAQ。