NOI2020游记
我今年高一,这是我第一年作为正选参加NOI。
去年NOI没写游记,结果前两天想要复盘NOI2019的时候发现只能回想起一些模糊的记忆了。为了防止明年再遇到这种情况(其实我更希望没有明年),就有了这篇游记。
也正是因为这个原因,本文将专注于考试本身,其他事情就不会怎么记录了。至于经历或目睹的其他事情,写出来估计也难有人有共鸣,所以干脆省略吧。
考前的情况
考前几周的模拟赛/其他比赛基本上都以各种原因挂掉了(很惨的那种),大部分时候是因为策略/考场行为上的重大失误,偶尔是因为智障没想出题。
总结了不少考场策略和注意事项,但不知道为啥总能花样翻新地犯错(偶尔也会旧错重犯)。考前两天终于意识到了最重要的问题:考场上不冷静,心理活动太丰富;然后针对这两点提出了一点改进方法。
笔试
考前一天晚上准备了一下,成功AK。
Day1
比赛之前
前一天晚上十一点总算完成了糊墙式的复习,早上爬起来之后又背了个快读板子,默写了一遍注意事项,就出发去考场了。
晚上十一点多一点入睡,早上四点多一点醒(然后就没再睡着)。看起来有点离谱是吧,但对我来说还行了……我反正已经习惯考前睡不着觉了qwq。
比赛过程
00.5h:T1的读题和思考。这段时间有点迷糊,不知道为什么注意力不太集中。过程中一度以为T1并非简单题,在30min终于会做后感觉自己是沙雕。想完之后仔细确认了做法的正确性。
0.5h~1h:T2 T3的读题和初步思考。T2很快想到是长链剖分或者线段树合并,T3想出了三种特殊性质分别的做法(其中性质A想的是难写的分块而不是莫队)。判断难度顺序是A->B->C。
1h~2h-:T1的代码和测试。测试时发现自己忘了判-1。自觉进度有点慢,所以没有对拍。
2h-~4h-:T2的思路细化、代码和简单测试。代码本身似乎并不难写,但写了两个有点隐蔽的bug出来,结果调小样例调了很久。本来预计3h出头时能弄完,结果弄到了接近4h。因为时间紧张,过了大样例之后就没对拍,甚至没顾得上瞅一眼大样例强度。
(考场上我的判断是:区分度主要集中在第三题,所以第三题需要拿到可观的分数才能够到队线。因为如此所以在做前两题时没有花时间去换稳定性。)
4h-~5h:肝T3。尝试了一两个思路后认为正解不可做,然后提出了性质A的莫队+BIT做法,接着发现能用四维莫队+BIT做一般情况。认为四维莫队性价比最高,剩下的时间都在写它。当时的判断是:写出来四维莫队,性质A的分就都有了(因为四维莫队全方面强于二维莫队),无性质的分也能拿不少。最后10min 又Rush了一个性质C,为了复用代码,写的是二维莫队+BIT。12:58终于把tears.cpp放进了提交文件夹里,惊险刺激。
后话
100+100+48=248,前两题顺利AC,T3丢掉了性质C和大部分性质A的分数(A是因为忘记针对二维莫队改块大小,C原因未知),但因为出题人卡不掉结果意外拿到了性质B的分数。
官宣rk50的分数是240,但这50个人中包括IOI2020集训队还有DE类选手。猜测今天实际的队线会在230左右。自己在考场上似乎把队线估高了一点。
感觉今天的考试过程中冒的风险还是太大了。明天需要更谨慎一些。
Day2
比赛之前
考前放弃学习。
这次是十一点不到入睡,三点半醒,然后就没再睡着。意外的是精神反而比昨天好。
比赛过程
0~0.5h+:T1的读题和思考。尝试分析连边的图的性质,但完全没有靠谱的想法,甚至想不到任何一个非平凡的做法。
0.5h+~1.5h-:T2 T3的读题和初步思考。T2看完感觉可能可做,推了一会儿性质就先丢掉了;T3看到弦图很开心(考前刚学过弦图),然而试了试自己了解的弦图性质,发现都不太派得上用场,冷静之后决定放弃。
到这时对难度有初步感觉了,判断是CTS级别的难度,A掉一题估计就稳了,三题部分分也有希望。但目前为止一个靠谱思路都没有,还是有点慌的。
虽然T2看起来更可做,但T1毕竟排在前面,还是相信一下组题人的良心吧。于是准备把剩下的时间大致平均地分给T1和T2。
1.5h-~2h+:这期间继续尝试了一些T1的思路,但都找到了反例。最后无奈决定把已经想出来的三个假做法合并取最优解。三个假做法分别是:
- 把原材料
random_shuffle后从前往后贪心选。卡时重复多次。 - 钦定连边图(把菜肴看作原材料间的连边)为若干菊花的并,对它决策。(状压DP,\(O(3^n)\)复杂度)
- 贪心,每次把当前的最小元素(指原材料)和最大元素匹配。
2h+~3h:实现了上述三个假做法,并进行了简单测试。有一点细节且代码比较长,但成功做到了几乎一遍写对。说“几乎”是因为测样例发现输出部分写错了。
此时感觉自己这场已经凉了,但还要挣扎挣扎。
3h~3.5h+:继续思考T2,兼顾部分分和正解。过程中觉得自己会正解了,吸取模拟赛教训仔细检查算法正确性,成功发现自己想题的时候把题意想歪了。不过仔细考虑一下,原来的做法似乎能魔改一下以适用于正确的题面。又花了一些时间继续确认正确性和想清楚细节,直到基本确信自己能把它写对为止。
3.5h+~4.5h:写T2。比较顺利,写完一遍过样例。
4.5h~5h:测了T2的极限数据,然后肉眼检查了一遍T1和T2的代码。保险起见开大了T2 trie树内存池的大小。未发现其他问题。
后话
45+100+0,没有挂分,T1得分超出了我的预期。
三天总分加上A队加分,最终排名似乎是rk26。
NOI2020游记的更多相关文章
- NOI2021 去不了记
没错,由于某些 zszz 的原因,我是真的去不了了(指去不了 ZJ) Day -11 ~ -7 - 2021.7.12 - 2021.7.16 令人自闭的 ISIJ 终于结束了----From ycx ...
- NOI2020网上同步赛 游记
Day1 预计得分:\(32pts\)(我裂开了--) T1 美食家 表示考试的时候想到了关于矩阵快速幂的想法,甚至连分段后怎么处理都想好了,但是没有想到拆点,还有不知道怎么处理重边(这个考虑是多余的 ...
- 开始是为了结束,结束是新的开始——NOI 2020 游记
Day 0 报道日 晚上的时候我们的教练给我们做考前动员.给我们讲:NOI的五个小时需要认真的规划,不能被T1打乱节奏.他让我们思考明天的策略,把可能出问题的地方都想清楚. 结果后来,宿管给我测体温, ...
- 【20161203-20161208】清华集训2016滚粗记&&酱油记&&游记
先挖坑(这个blog怎么变成游记专用了--) 已更完 #include <cstdio> using namespace std; int main(){ puts("转载请注明 ...
- 【20160722-20160728】NOI2016滚粗记&&酱油记&&游记
先挖坑 #include <cstdio> using namespace std; int main(){ puts("转载请注明出处:http://www.cnblogs.c ...
- NOIp2016 游记
DAY -2 不要问我为什么现在就开了一篇博客. 本来想起个NOIp2016爆零记或者NOIp2016退役记之类的,但是感觉现在不能乱立flag了.所以就叫游记算了. 前几场模拟赛崩了一场又一场,RP ...
- NOIP2016游记
只是游记而已.流水账. Day0:忘了. Day1:看完T1,本以为T2一如既往很简单,结果看了半天完全没有思路.然后看了一眼T3,期望,NOIP什么时候要考期望了,于是接着看T2.一开始我推的限制条 ...
- CTSC2016&&APIO2016滚粗记&&酱油记&&游记<del>(持续更新)</del>
挖一波坑 #include <cstdio> using namespace std; int main(){ puts("转载请注明出处:http://www.cnblogs. ...
- 游记——noip2016
2016.11.18 (day 0) 呆在家. 悠闲地呆在家.. 明后天可能出现的错误: 1)没打freopen.打了ctime: 2)对拍程序忘记怎么写了...忘记随机化种子怎么写了: 3)不知道厕 ...
随机推荐
- C++算法代码——笨小猴
题目来自:http://218.5.5.242:9018/JudgeOnline/problem.php?id=1163 题目描述 笨小猴的词汇量很小,所以每次做英语选择题的时候都很头疼.但是他找到了 ...
- LayUI之弹出层
1.导入插件 layui使用需要导入layui的js和css: <link rel="stylesheet" href="layui/css/layui.css&q ...
- vmware-install.pl 如何安装?
首先在虚拟机上安装vnware-tools工具,如图(工具为vmware workstation): 成功 但是系统屏幕大小并没有适应虚拟机,所以下边这行提示很重要. 打开左侧边栏的VMware ...
- Linux系统编程【4】——文件系统
pwd命令的作用 Linux的文件系统比较庞大,所以笔者从pwd这一命令入手,在实现的过程中加深对文件系统的了解. 输入:man pwd 从指导文档中可以看到,pwd命令的作用是显示出当前所处位置,以 ...
- 求幂&&快速幂&&位运算
1.普通的求幂方法: 时间复杂度为O(n),对于比较大的数在1s限时内可能会TLE int pow(int base,int p){ int ans=1; for(int i=1;i<=p;i+ ...
- 解决 DatePickerDialog 在 Android7.0 API24 上使用 AlertDialog.THEME_TRADITIONAL、AlertDialog.THEME_HOLO_DARK、AlertDialog.THEME_HOLO_LIGHT等样式时无法显示为 Spinner 样式的问题
DatePickerDemoForAndroid24 解决 DatePickerDialog 在 Android7.0 API24 上使用AlertDialog.THEME_TRADITIONAL.A ...
- 优秀的vue服务端渲染框架
目前国内优秀的基于vue的ssr框架有minissr,可以在服务端生成html代码,有利于搜索引擎爬取. https://www.wechatmini.com/vue/minissr 使用方法可以参考 ...
- WPF 基础 - 在模板中找元素
1. 在 ControlTemplate 中寻找元素 <Window.Resources> <ControlTemplate x:Key="cTmp"> & ...
- Java基础:常用基础dos命令
打开cmd的方式1.开始+系统+命令提示符2.win键+R 输入cmd 打开控制台3.在任意的文件夹下,按住shift键+鼠标右键点击,在此处打开命令提示行4.在资源管理器的地址栏前面加上cmd路径 ...
- fork、exec 和 exit 对 IPC 对象的影响
GitHub: https://github.com/storagezhang Emai: debugzhang@163.com 华为云社区: https://bbs.huaweicloud.com/ ...