我今年高一,这是我第一年作为正选参加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游记的更多相关文章

  1. NOI2021 去不了记

    没错,由于某些 zszz 的原因,我是真的去不了了(指去不了 ZJ) Day -11 ~ -7 - 2021.7.12 - 2021.7.16 令人自闭的 ISIJ 终于结束了----From ycx ...

  2. NOI2020网上同步赛 游记

    Day1 预计得分:\(32pts\)(我裂开了--) T1 美食家 表示考试的时候想到了关于矩阵快速幂的想法,甚至连分段后怎么处理都想好了,但是没有想到拆点,还有不知道怎么处理重边(这个考虑是多余的 ...

  3. 开始是为了结束,结束是新的开始——NOI 2020 游记

    Day 0 报道日 晚上的时候我们的教练给我们做考前动员.给我们讲:NOI的五个小时需要认真的规划,不能被T1打乱节奏.他让我们思考明天的策略,把可能出问题的地方都想清楚. 结果后来,宿管给我测体温, ...

  4. 【20161203-20161208】清华集训2016滚粗记&&酱油记&&游记

    先挖坑(这个blog怎么变成游记专用了--) 已更完 #include <cstdio> using namespace std; int main(){ puts("转载请注明 ...

  5. 【20160722-20160728】NOI2016滚粗记&&酱油记&&游记

    先挖坑 #include <cstdio> using namespace std; int main(){ puts("转载请注明出处:http://www.cnblogs.c ...

  6. NOIp2016 游记

    DAY -2 不要问我为什么现在就开了一篇博客. 本来想起个NOIp2016爆零记或者NOIp2016退役记之类的,但是感觉现在不能乱立flag了.所以就叫游记算了. 前几场模拟赛崩了一场又一场,RP ...

  7. NOIP2016游记

    只是游记而已.流水账. Day0:忘了. Day1:看完T1,本以为T2一如既往很简单,结果看了半天完全没有思路.然后看了一眼T3,期望,NOIP什么时候要考期望了,于是接着看T2.一开始我推的限制条 ...

  8. CTSC2016&&APIO2016滚粗记&&酱油记&&游记<del>(持续更新)</del>

    挖一波坑 #include <cstdio> using namespace std; int main(){ puts("转载请注明出处:http://www.cnblogs. ...

  9. 游记——noip2016

    2016.11.18 (day 0) 呆在家. 悠闲地呆在家.. 明后天可能出现的错误: 1)没打freopen.打了ctime: 2)对拍程序忘记怎么写了...忘记随机化种子怎么写了: 3)不知道厕 ...

随机推荐

  1. SSL (Secure Sockets Layer)

    本文转载自SSL (Secure Sockets Layer) TLS简介 The Transport Layer Security (TLS) protocol aims primarily to ...

  2. python进阶(11)生成器

    生成器 利用迭代器,我们可以在每次迭代获取数据(通过next()方法)时按照特定的规律进行生成.但是我们在实现一个迭代器时,关于当前迭代到的状态需要我们自己记录,进而才能根据当前状态生成下一个数据. ...

  3. Asp.NET Core 限流控制-AspNetCoreRateLimit

    起因: 近期项目中,提供了一些调用频率较高的api接口,需要保障服务器的稳定运行:需要对提供的接口进行限流控制.避免因客户端频繁的请求导致服务器的压力. 一.AspNetCoreRateLimit 介 ...

  4. 后端程序员之路 26、CAP理论

    可能是CAP理论的最好解释 - 西代零零发 - 博客频道 - CSDN.NEThttp://blog.csdn.net/dc_726/article/details/42784237 CAP理论 - ...

  5. CSS:CSS基础

    和 HTML 类似,CSS 也不是真正的编程语言,甚至不是标记语言.它是一门样式表语言,这也就是说人们可以用它来选择性地为 HTML 元素添加样式. CSS规则集 选择器(Selector):元素的名 ...

  6. windows本地连接虚拟机上的ubuntu的redis,以及无法连接解决方法(redisDesktopManager Jedis详细步骤)

    一.环境 1.ubuntu20.04 . redis 5.0.7 在ubuntu上下载redis,执行命令 sudo apt install redis 2.redisDesktopManager下载 ...

  7. 漏洞复现-CVE-2018-15473-ssh用户枚举漏洞

          0x00 实验环境 攻击机:Win 10 0x01 影响版本 OpenSSH 7.7前存在一个用户名枚举漏洞,通过该漏洞,攻击者可以判断某个用户名是否存在于目标主机 0x02 漏洞复现 针 ...

  8. Python开发环境从零搭建-03-安装Python解释器并配置

    想要从零开始搭建一个Python的开发环境说容易也容易 说难也能难倒一片开发人员,在接下来的一系列视频中,会详细的讲解如何一步步搭建python的开发环境 本文章是搭建环境的第3篇 讲解的内容是:安装 ...

  9. slickgrid ( nsunleo-slickgrid ) 4 解决点击不切换单元格的问题

    slickgrid ( nsunleo-slickgrid ) 4 解决点击不切换单元格的问题 上一次解决了列选择和区域选择冲突的问题,昨天太忙了,并且要陪小宝早点睡觉,就啥也没有赶上.今天上班面试. ...

  10. java IO NIO BIO 最权威的总结

    1. BIO (Blocking I/O) 1.1 传统 BIO 1.2 伪异步 IO 1.3 代码示例 1.4 总结 2. NIO (New I/O) 2.1 NIO 简介 2.2 NIO的特性/N ...