初赛
题目太面向对象了,打了一坨。
复赛
复赛题面就是一坨,题也是一坨,打了一坨。
你说得对,A 题是小学奥数题,但是我已经是高中生了,所以卡了半个多小时才想出来样例二。没想出来的时候写了个 dfs 验证一下,想出来之后感觉不会写索性就先交 dfs 后面再回来推逻辑了。但是没给数据范围,什么情况。
开 B,一眼 next_permutation 暴力,仔细算了算复杂度发现暴力变成正解了,随便写写就过掉了。
开 C,读题目挺简单的,一看样例发现看不懂,这和题目说的是一道题吗?遂不可以总司令跳过。
开 D,前面一堆废话,其实最后一句话就把题目说完了。刚准备开敲快速幂,一琢磨数据规模发现原来是高精度,遂转 py 打表。写了个 py 计算答案,再写了个 cpp 用快读的方式读入答案并把长度与前一百位打成表,于是本题 $O(1)$。然而悲催的是由于开题比较晚所以打表比较晚,数据范围是三万但是我 py 跑到一万九就差不多速度很慢了,然后我抽了一不小心关掉了输出没保存,于是重跑打表,只来得及跑到三千,遂只打了三千的表,亏爆。
赛后发现 B 题原来给的那个数字就是 $n$,服了,没说清楚,而且经同学暴力检验发现只要 $n\gt3$ 那么答案就只有 $4$ 和 $9$,$n\le3$ 就输出 $0$,不可以总司令在本题输给了输出样例。
唯一值得夸奖的比赛体验就是居家比赛,自家电脑上的 IDE 随便用。
结果:66 分(换算成 400 分制就是 264 分),喜提一等。
决赛
前言
8 月 2 号的时候想看证书发现晋级了,啊?思考了一会要不要去,毕竟又远又耽误课还不报销。
没想到就我这么烂的成绩也能进决赛,感慨。虽然深圳到乌镇有点远,但毕竟是全国的,难得有机会,所以还是报名了,也顺便去杭州和乌镇玩一玩。
关于旅游的部分,在这篇文章可以看到一些记录以及照片,本文章只记录有关比赛的内容。
游记
day -2
中午从宝安机场起飞,下午到萧山机场。然后坐了两个小时车到乌镇,等到了民宿之后已经是晚上了,所以在附近吃了个饭,然后在附近逛了逛,今天就结束了。
其实原定是一早起飞,然后下午到了还能去签到的,但临时有事所以改到中午了。
day -1
签到。
但由于原定昨天签到改成了今天,忘了签到地点有不同,因此一开始走错了地,看到那边大场馆已经在比赛了,还以为我们这项也是像 NOI 一样一大群人在大场馆比。
签到时使用的是二维码,然后发了一个包,包里有手册、比赛衣服以及参赛证之类的,除了手册以外都有纪念意义,还是很不错的。听负责签到的人说参赛时要穿着衣服然后带参赛证。
顺带一提,由于来这边比赛的人特别特别多,而且由于大部分赛项都是面向小学生初中生的因此还会拖家带口,所以基本到哪都能看见来参加比赛的人,甚至周边的出租车司机和店家之类的全都知道比赛的事情,很神奇。
day 0
当天下午稍晚一点到了考场,距离检录结束还有十多分钟。
跟随现场志愿者前往考场,中途差点进到初中组考场,后续爬了四楼到了高中组考场。进考场发现居然只有二十个人左右,并且我是最后一个进考场的,大概是跑远路参加决赛的不多。
赛前
随便找了一个座位坐下,发现其他选手已经开始敲键盘。显示屏极其古老,是很旧的方形的那种。印象中系统貌似装的是 win10,键盘还行。
需要打开官网登录账号,遂登录,输了很多遍密码都登录失败,诧异,遂打开记事本输入好后粘贴入框,发现这个机子的键盘绑键是错位的,我按 W 会打出来 Q,按 T 会打出来 R,但数字键盘是正常的,因此输入手机号时没有发现,但密码输入框是隐藏的,因此输入密码里的字母时就错了。
诧异,遂换机位,发现这一台的键盘莫得 F12,诧异,遂换机位,成功登录。
由于不是 NOI 系列比赛,不知道文件夹规则,因此没办法提前建好文件。编译器貌似只有比较经典的 dev cpp 和 vim 那些的,因此启动 dev cpp,还是英文版的,调了一些设置,然后敲了文件缺省,等开赛。
赛时
提前五分钟告知了比赛密码,在官网进入比赛并下载试卷。读题。
A 题读完之后第一个联想到的是 K Smallest Sums,虽然实际上关联不大,但也因此马上想到了一个重要性质,给出的最小的数字一定是由最小的两个加来的,因此这里可以作为一个枚举点,确定好前两个数之后就可以根据给出的第二小的数直接确定第三个数,然后一直递推下去,有多种可能只需要搜索一下。
此时认为会做 A,于是接着读 B,读完就会了。建一个表达式树然后 dp 一下即可,极其简单。成功切题,美滋滋。遂读 C,发现见过原题,但那道原题我不会做,悲。
此时比赛正式开始,两个小时敲两个会的题和两道暴力应该问题不大吧?
问题大得很。开始写之后才发现 A 的搜索难写的离谱。想不出来如何实现,然后浪费了一个小时。没错,比赛一半的时间完完全全浪费掉了。但是 A 题还是要写的,后面又花了半小时写了降一档的 next_permutation 暴力。
还剩半个小时,本来以为 B 已经会了还是能打的出来的,但很快发现了新问题:嘶,表达式树怎么建来着?哈哈,完蛋。想了整整二十分钟,只记得和笛卡尔树差不多,要用到栈什么的,半天写不出来。
还剩不到十分钟的时候放弃,输出样例了。然后 C 写了个 map 暴力,结果样例过不去,试着调暴力也没调出来,不理解,最后改成了 set 但是没测样例。D 输出样例。
最后一分钟极速删无关文件打包改文件名然后回官网提交,巨惊险,出现提交成功的页面的时候发现时钟已经 40 分,刷新一下就显示比赛结束了。
赛后
出考场之后,天很快就黑了。
进来时来不及拍照留念,出来的时候拍了许多。然后有一位老师一直在关心“孩子都出来没有”“找到家长了没有”哈哈哈。
对自己的表现不太满意,完全没有任何发挥,甚至都不确定代码有没有提交上去。
虽然是不太重要的比赛,但毕竟全国级的赛事只打出了这样的水平,还是很丢人的。
后日谈
当天晚上在酒店通过在官网上抓包,从一些请求的返回数据里面看到了自己提交的文件信息,这才确认代码成功卡着时间提交上去了,惊险,看来至少没有爆零。
以及查到了 C 的原题是可见的点,原来正解是欧拉筛求欧拉函数,幽默数论,不会。
毕竟第二天就是闭幕式和颁奖,所以理所当然第二天就出分了,具体分数很难看就不说了,总之打了一个 3=,突然有种打铜不如打铁的意味了,但丢人归丢人,但比起比赛其实这次体验更多的是出远门玩了好久,比赛带给我的遗憾情绪连那天晚上都没撑到就无影无踪了。
不过,接下来的时间会越来越快,越来越不够用,自然是不允许我再这样玩了,这篇游记也是我半周里每天的空隙敲出来的。不过我并没有感到遗憾,毕竟我一直对高考之后的事情有所期待。
我相信时机到了的时候,自然而然就该来到该有的状态,就像这篇文章就该于此停笔。
附录
参考文献
版权信息
本文原载于 reincarnatey.net,遵循 CC BY-NC-SA 4.0 协议,复制请保留原文出处。