加载中...
<cover></cover>

# NOIP 2020 游记

2020-12-19 水

本文最后更新于 天前，文中部分描述可能已经过时。

这是篇迟到了两周的游记，因为考完 NOIP 后我这个苦逼的文化课选手又去准备地理生物一模了，一模考完后的这个周末才开始肝这篇游记qwq

这是我人生中第一次参加 NOIP（去年的那个 CSP-S 不算的话），或许也将是最后一次或者倒数第二次（如果条件允许的话高三可能还会去打一场），

## Day 0

晚上上完课回家已经快八点（文化课选手的痛），恰完饭也没啥心思写文化课作业了，拿出 iPad 随便看了看 OI-Wiki（不得不说这真是个好东西），复习了一些板子，然后签了一堆承诺书，打印准考证和健康码，之后大概十点多就去睡觉了

## Day 1

考场继续在自己学校（爽）

NOIP 是早上 8:30 考到下午 13:00 一共 4.5 小时，我大概7点起床，吃完饭去便利店买了两块巧克力（虽然后来也没吃），七点四十左右到了学校

继续熟门熟路到了一楼角落的实验室，准备开台电脑暖暖手（雾），然而我来得太早了，又没带门禁卡，就只好在外面等着（冷死了）我还成功地把别的学校的选手带偏了，跟着我走了过来，特尴尬

过了一会儿终于来人了的，然而大家都以为别人会带门禁卡，所以就都没带…（太草了ww）这时候一个高一小朋友来了，他刷卡开了门，我们刚想跟他进去，结果他很快啊！砰地把门一甩，把我们锁外面了…

我们一群人在外面目瞪口呆，他大概是把我们当成别的学校的选手了，我们敲窗户他也不理…😂最后是大佬去校门口找教练拿了卡开的门

比赛前按理来说稍微看看模版，放松就行，然而我们机房的几个人一个在打线段树，还有几个人在现学快速幂…我也跟着背了下快速幂的板子（虽然最后压根没用上

时间差不多了就上楼进机房，监考竟然是劳技老师（一个月前劳技课学 Arduino，因为我没有用 Scratch 直接开了 IDE 写代码，然后劳技老师知道了我是搞信竞的，对我说了句“加油～”，好开心）

然后就是公布密码，解压试题，密码顺利一次输对～

拿到卷子把四道题都看了一眼，还是 T1 比较简单，打算至多一小时切掉

T1 思路是邻接表建图（或者用 vector），BFS 直接模拟即可，然而比较坑的是结果要用既约分数表示，我先花了半小时写了主要的代码，结果先用双精度浮点数存储，把样例输出的分数化成小数三个样例测下来都过了，接着开始写分数运算的部分

这时我突然发现涉及到我的知识盲区了，一个连小学生都会的数学问题我竟然不知道怎么做，那就是如何求两个数的最大公约数（GCD）？我只知道有欧几里得算法（也叫辗转相除法），但是具体应该怎么辗转相除我完全不清楚，我顿时傻眼了…

没办法，硬着头皮上了，我开始在草稿纸上举例子找规律，打开电脑上的计算器噼里啪啦地各种除，终于花了近半个小时找到了规律…

gcd(a,b)=gcd(b,a mod b)gcd(a, b) = gcd(b, a \mod b)gcd(a,b)=gcd(b,amodb)

然后就是边计算边约分，结果化为既约分数输出，正当我以为万事大吉，一测发现样例3莫名其妙爆炸了，确切地说是程序直接异常退出（返回值非零）

我一看时间已经过去一个多小时了，T1 还没搞定，决定先放一放做后面的题

于是我看中了 T4 的前30分，直接暴力开搞，半小时后确认到手

接着我看了 T2 和 T3，T2 字符串没啥思路，也没太敢搞暴力，于是开了 T3

T3 貌似是 NOIP 史上第一道开启 Special Judge 的题目，给了校验器（我乍一看还以为重大事故造数据的标程忘记删了😂），允许多种答案，只要符合题意均可，我点开了答案校验器 `checker.cpp` 看了看，代码当然是都混淆了，可读性为零

读完题莫名感觉有点像汉诺塔问题，于是就默认它是一道动态规划（往年不都是考4道动归的嘛，今年四道只有 T3 最像了），然后我就开始尝试划分阶段和状态，推状态转移方程，结果浪费了一个小时啥也没推出来…决定 DFS 暴搜开搞，结果搜索写完发现程序自循环了，然后我突然意识到它会把移动过的球移回原位，结果当然会陷入死循环…然后我 DFS 也没思路了，此时距离比赛结束还有一个半小时

考虑到 T2 即使暴力写完撑死拿个30分，况且还没什么思路，不如去把 T1 debug 一下把分拿满

然后我花了近一小时才发现大样例会爆int，导致后面gcd出现问题，程序异常退出，遂给数组开了 long long，成功通过样例3

期间我到处注释掉代码看运行结果（没办法，不会gdb调试），这间接地导致我最后痛失30分

最后半小时就很尴尬，开 T2 应该是来不及了，于是打开 NOI Linux 虚拟机把代码都跑了一遍，仔细检查了 `freopen`，检查了 `printf` 输出 `long long` 用的是 `%lld`，检查了 `return 0`，时间差不多就提交走人

考完出来才发现巧克力没吃，也没觉得饿，回家路上吃掉了，预估分数是100+0+0+30

回到家看到 Vuq 群里在讨论 T1，然后有人说 long long 存不下，要写高精度，我心里慌了，不过想想应该不会卡太多点，顶多被卡掉20分

接着群里有人说入度为0的点貌似不一定恰好为m个，应该取前m个作为入水口，我赶快调出题目仔细一看，还真是！如果 CCF 愿意的话我会被卡成0分，完蛋了，唯一一道会做的题也要爆零了（哭

好在群里有出题人，说帮忙问了，确认会保证测试数据满足入度为0的点的个数等于m，这样一来我应该只会被卡高精度，谢天谢地

接着 OITIKU 民间数据造好了（这家伙到底什么来头，每次数据都造得飞快），一测90+0+0+30，心里踏实一些了

## Day 2

一早起来有洛谷数据了，测下了也是 120pts，但是其他人都好厉害，人均130，我垫底了

用 NOI Linux 跑了全省的代码，民间数据测下来我已经180名开外了，心凉了

## 2020.12.8

万万没想到 CCF 效率如此之高，没过几天就出分了，这天下午社团活动碰上教练，教练说出分了你知道吗，然后把手机给我看，我一看心里瞬间拔凉拔凉的，挂分挂到只有90pts，真的是垫底

一看 T1 60pts，我 TM 花了那么久过的大样例都白做了，LCM 要先除后乘才能拿90pts，我这时才想起来我一开始是先除后乘的啊，后来调试的时候把这里注释掉了，重写想着没区别就写了先乘后除，然后分子就爆了 long long

大佬在边上安慰我说“唉，大家都挂分了，这数据区分度就离谱”

CCF 不愧是“用心造数据，脚造大样例”，居心叵测啊…

后面几天真的是难过，后悔死了，如果当时我开了 T2 写出了暴力可以拿48pts，加起来就有120pts了

## 2020.12.15

出分数线了，上海因为低于全国基准线，二等线由95pts降分至60pts，成功地让我挤了进去

然后120+才有一等，所以我们学校一堆的二等，一等就3个人，其中两个都是高三的，这区分度就离谱

## 不正经的总结

> 欸 我一输密码他啪一下就解压了 很快啊 然后上来就是 一个DAG 一个字符串 一个走路人 我全部打出来了啊
> 打出来以后自然是 传统题目以long long为止 unsigned long long放在他鼻子上 没打他 我笑一下 准备收拳
> 因为这时间 按照传统功夫的longlong为止 我就过了 如果我这T2 HASH一开 一下就把他题目做出来了 放在这题目上没卡常
> 他也承认 我先这道简单题 他不知道我T2 O（Tnlogn）放在他鼻子上 他承认我先打了T1啊
> 我测完样例的时间不打了 他突然袭击高精度来打我脸
> 啊 我大意了啊 没有闪
> 欸 他的高精度给我T1 给我T1蹭了一下 但没关系啊 他也说 他结束也说了
> 考完试以后 当时流眼泪了捂着眼 我说退役
> 然后两分钟以后 两分多钟以后 就发现T2也挂了
> 我说出题人你不讲武德你不懂
> 他说对不起对不起 我不懂规矩 啊 我是 他说他是乱出的 他可不是乱出的啊 高精度 字符串 构造题 训练有素 后来他说他出过三四年题啊
> 看来是有备而来 这两个出题人
> 不讲武德
> 来 骗
> 来 偷袭
> 我要退役的 老同志
> 这好吗 这不好
> 我劝 这位 出题人 耗子尾汁 好好反思 不要再犯这样的聪明 小聪明 啊 额 OI要以longlong为贵 要讲武德 不要搞 高精度 谢谢朋友们

——Parabola的回答 - 知乎《如何评价NOIP2020？》

## 正经的总结

不管怎么说今年的 OI 系列赛事都结束了，难过也好，后悔也好，都是过去的事情了，应该说我高中阶段的 OI 生涯也就到此为止了，换句话说，我退役了

明年或许还会来打最后一场，但是不会花太多精力在 OI 上了，要准备明年5月的地理生物高考，终于要告别短暂的 OI 生涯，回归正轨了

我永远不会忘记一年多以来，每周一的晚上在机房上课刷题的时光，每次打完比赛凑在教练的笔记本前紧张又期待地等候着测评结果，一次次模拟赛中我从一开始的爆零，再到有分，最后到拿到100+，以及一楼小角落里的实验室，那属于 OIer 们的小天地

也很感谢教练把我从啥也不懂的白痴教到了啥都会一点点的白痴，据我所知别的学校信竞都是不收初中没有参加过的新手的，真的很感谢教练每周都无偿给我们上课，和我们聊天，给我们建议

一年来也捞到了两个奖，在 NOI 官网上留了名，在 OIerDB 中留下了记录，成为了真正的 OIer

OI 在目前的教育环境、升学政策下愈发显得卑微和无用，信息学竞赛的发展正走在下坡路上，它已经失去了曾经的繁荣，但是，抛开那些功利的不谈，OI 真的能给一个人带来很多，如思维方式的培养、问题解决能力的培养等等，这些都是受益终身的能力

正如我一直坚持认为的那样，搞 OI 真的只是因为我真真切切地热爱它，仅此而已，我不指望它能对于我的高考升学带来什么实质性的帮助

> 一片树林里分出两条路，而我选了人迹更少的一条，因此走出了这迥异的旅途。

与所有的 OIer 们共勉

NOIP 2020 游记
https://blog.hans362.cn/post/noip-2020/
本文作者
Hans362
最后更新
2020-12-19
许可协议
CC BY-NC-SA 4.0
转载或引用本文时请遵守许可协议，注明出处、不得用于商业用途！
喜欢这篇文章吗？考虑支持一下作者吧～
爱发电 支付宝