NOIP 2020 游记
第一次写比赛游记,请多多指教!
I. 考前
由于最近参加了太多太多比赛了,所以没有敲模板题;
考前一周:主要是在做 AtCoder 的题和 xjoi 的模拟赛,相当于恶补了一些套路吧!
考前一天:上午狂写 agc,下午的时候才想起来不应该这么劳累(借口),遂开始颓废——借着试机的机会带着班上其他的同学一起逛了逛校园;一回机房发现嬴政大佬和小粉兔大佬居然在我电脑前面看我的 AtCoderProblems,感觉有大神祝福一定会考好的!
考前 30 分钟:居然要等到开考才能进考场,差评差评!害得我提着两瓶可乐在教室门口等了这么久(但是我是这件考室第一个进场的,好吉利!
考前花絮部分:
- 谢队的精准预言(本人已内牛满面
谢队:"Windows 下问一个经过了一系列操作的小数是否和整数相等,Windows 下会告诉你 Yes,Linux 下可能不会;"
谢队:"Windows 可能连分数类都替你写好了,而 Linux 就没有那么智能。"
- 监考老师看见林祺昊同志,不解地问这么小的选手来考个啥子呀
我:"您别看他小,他上次 CSP 成绩是我的三倍呀!blablabla……"
考官:"那你来考个啥子呀?"
我:…………
- 考前一天的那个集体颓废的下午,小粉兔难得地出现在机房疯狂 fAKe
兔队:"哇这是什么题哇!强啊!这都是什么神仙题啊!我c!我输了~"
一众人 & wo:"@%……#¥&¥@&@%¥@%……"
- 考前几天下午放学后固定在操场和一本校高一 CMO 国集队爷畅谈人生
队爷:"我本来只想稳稳地拿下 T1、T4 的,结果,12456 全做出来了……"
顿时感觉这次考试应该稳稳地打,就稳住 T1 好了。
II. 好的开端
通读了一遍题目,感觉第一题拓扑一下就能做,第二题字符串很意外,第三题感觉没思路,第四题有点读不懂,先丢掉回头再来读题。
T1: 真的开始写的时候发现居然是分数形式的输出,掐指一算,\(5! = 120\),数最大是 \(120^{10} = 619,173,642,240,000,000,000\),爆 ll !刚开考嘛,心态比较稳定,所以很冷静地先假设只要输出小数,把拓扑排序写了一遍,大概花了 5 分钟这样吧;其中感觉拓排中有些点度数不会减到 0 这可真是个大大大大大坑点,还好有上次的《函数调用》作为铺垫~
T2: 调和级数这个太容易一眼看出来了,想了想这个 \(F(A) \leq F(C)\) 的要求可以用树状数组来统计,于是一顿写,20min 写完了,花了 30min 来调试,主要有三个问题:
inline unsigned int subhash(int l, int r) { return hash[r] - hash[l - 1] * fac[r - l + 1]; }
这个函数,一段时间没打字符串哈希的我居然写成了:
inline unsigned int subhash(int l, int r) { return (hash[r] - hash[l - 1]) * fac[n - r + 1]; }
好后悔考前一天在 2020 国集作业里看到的那道哈希题居然没有去写一写。还有一个错误是没有考虑到 \(AB\) 段可以随时结束,并不需要延伸到尽头,这个错花了我更多时间!
当然这题还犯了两个错误——没卡时和没有开双哈希。
III. 失误的发生
**T3: ** 天真的我以为这题可做,想了个挺复杂的做法,以为就行了,30min 怒码 3KB,一发样例 RE,猛然发现有那么一种情况下这个有问题,偏偏是这最后的问题,偏偏解决不了,当场自闭,看着右手边的 hjh 大佬沉着的样子,更加的恐慌。又想了 15min,果断开 T4。可以说这个事大大消耗了我的脑力,也为 T1 的失误埋下了伏笔。
T4: 想了个 40pts 做法果断跑路。
T1: 真正的失误 。高精度?不会!不会!但是我会 long double!索性,把过程中的每个数都乘上最大分母 \(619,173,642,240,000,000,000\),虽然有点大,但是我可以用 long double 艹过去!
想起了谢队昨天的 ** 忠告 ,我测试了一下 long double 在这个事情上的精度,发现这么大的 long double 在除以 \(degree\) 和权值相加后居然误差极其之小,就是我想要的效果! 于是走上了聪明反被聪明误的不归之路 **!
前面当然都很顺利,但是到了输出的时候出了问题——我该如何判断它是否整除一个数呢?那我索性先除下去看看结果是不是整数呗!然后奇迹发生了,它告诉我,\(120^{10} / 7\)是整数!!!整数!输出出来,得到了如下的结果:
\(120^{10} / 7 = 88,453,377,462,857,142,856\)
居然真的是整数!!!我当机立断,既然误差这么大,那么我判断一下这个数除完后的商再乘以除数即可啦!然后用 C++ 一输出,人傻了!
\(88,453,377,462,857,142,856 \times 7 = 120^{10}\)
谁都看的出问题,猛然想起来谢队前一天说的——Windows 可能连分数类都替你写好了,而 Linux 就没有那么智能,然后整个人都懵了。
IV. 运气之神的眷顾
情急之下去了趟 WC,点名批评时代中学的厕所布置!一路走下去全是女厕所,找了半天的男厕所……最后还在厕所遇到了 Zenislt 大佬,他说他和 c03 同时写完了 T1,当场又崩溃了一次。
回来之后,突发奇想——我可以分成 5 的负多少次方分别存一个 dp 值,这样从头到尾只有输出是超过 long long 的!写了半天,发现大样例炸了,此时离考试结束只有半小时。
心态已经彻底凌乱了,简单地检查了 T2、T4 之后就扎进了调试里,硬是调不出来!考试结束前 5min,乱码了一些东西,过了大样例,出了考场,内心是一片空白的。
没想到,就是最后 5min 的挣扎,使得 T1 在民间数据获得了 100 分至 90 分不等的分。
V.考后
出了考场,遇到了两位大神学长——谢队和宏队,我赶忙疯狂膜拜~然后谢队说了下面这段话:
"平时单元考考得很好的人,大考不一定会考得很好,懂了吗?懂了吗?"
我:一脸懵逼.jpg,完全不懂大佬在所言指的是什么。
然后学长们开始给学弟讲鬼故事——T1 是前 \(m\) 个点是源点、T2 你单模数哈希还有两个 log 怎么可能过、T4 这个一眼就应该想出 80pts 的……
我:当场自闭.jpg,觉得自己完全炸了。
民间测试数据测完之后感觉稳得多了,T1 居然拿下了绝大部分分(oituku 100pts),T2 洛谷上能跑 96pts!加几个 register 就能过。
VI. 教训
T1 这种题,大家都不开高精 = 大家都开高精,不要想太多,就写一个普通的用 ll 的分数的 struct 就行了,哪有那么麻烦?考场上我还是不会取舍啊!
T2 哈希一定要开双哈希啊,虽然民间数据能过,但是心里还是虚啊!而且一定要卡常!不要一到正式考试就连快读都不写了!
T3 我还是缺乏识别不可做题的能力!
T4 这个是主要的区分度,我还是太菜了,想不出 80pts 做法;同时打 40pts 做法是个大大大大错误,应该打 30pts 那档,不容易错!害得我这题洛谷上只有 5pts!
NOIP 2020 游记的更多相关文章
- 「NOIP 2020」微信步数(计数)
「NOIP 2020」微信步数(Luogu P7116) 题意: 有一个 \(k\) 维场地,第 \(i\) 维宽为 \(w_i\),即第 \(i\) 维的合法坐标为 \(1, 2, \cdots, ...
- noip 2018游记
憋了好久的游记... 考虑到写游记是oi界的传统,所以还是应该写一篇的. day0: 上午9:30的火车出发,车上颓三国杀! 中午12:00到了大连,下午2:00才开始试机,还是得先去大连大学,在食堂 ...
- 开始是为了结束,结束是新的开始——NOI 2020 游记
Day 0 报道日 晚上的时候我们的教练给我们做考前动员.给我们讲:NOI的五个小时需要认真的规划,不能被T1打乱节奏.他让我们思考明天的策略,把可能出问题的地方都想清楚. 结果后来,宿管给我测体温, ...
- CSP-S 2020 游记
2020.10.11 初赛了,没怎么做题,之前在网上两次初赛模拟赛 95pts / 94pts,还白嫖了一本书,感觉挺好. 去考场,中途不舒服去了厕所,回来发现有点来不及,阅读程序最后两题不会瞎蒙. ...
- 【杂记】CSP-S 2020 游记 &反思
考场经历 吐槽:为什么这个 Enter 的位置怎么诡异啊老是打错.要是考挂了就怪你 开场当然先看了 T1,发现是个日期转换,果然是个百出不厌的模拟题类型,估价细节多到爆炸.看了几分钟题目,对这些规则云 ...
- NOIp 2020
游记 Day-1 我已经开始慌了. 不知道前路如何.不想回文化课.唯一一次机会,可是这几天却一直在颓,不颓就慌. 没心思写题,导致这几天看的题啥都不会.不知道考试当天又会出什么幺蛾子. 啊啊啊,烦. ...
- NOIP 2015 游记
本来和zly和wxh约好了 高三一起再来玩一次复赛,结果最终只有我一个人来了说...貌似是年段主任不让去...总算见识了比我们学校的YSD更爱管闲事的年段主任. 今年比赛竟然在衢州二中,学校不大,但感 ...
- NOIP 2017 游记?
Day -1 晚上被dg谈了谈人生,没有卵用 Day 0 早上又被老吕教训了一遍,想打板子,打印机还坏了,老吕又奶了一波题,后来发现一个都没中.之后就出发了,中午吃了点肯德基,妈妈来了,给我了个小袋子 ...
- NOIP 2019游记
Update on 2019.4.20 禁赛预定
随机推荐
- 【Linux命令063】Linux非常简单常用的入门命令
Linux常用命令 这是一篇我在公众号上发布的文章,还算较为受欢迎. 博客园这边荒废好长时间了,主要是最近一年经常撰写的文章都是Linux相关的入门文章. 不知道是否能通过博客园的首页审核. 1.cd ...
- 技术博客——微信小程序的架构与原理
技术博客--微信小程序的架构与原理 在两个月的微信小程序开发过程中,我曾走了不少弯路,也曾被很多现在看来十分可笑的问题所困扰.这些弯路与困扰,基本上都是由于当时对小程序的架构理解不够充分,对小程序的原 ...
- 最详细的windows10系统封装教程
目录 自定义封装(定制)windows10教程 关于本教程及用到的工具的声明 第一阶段: 封装前的各种环境准备 安装vmware 创建虚拟机 对虚拟机进行分区 配置好BIOS 为虚拟机安装window ...
- 021中国大学生程序设计竞赛(CCPC)- 压力测试赛题解
A.Matrix 挺狗的一道题,从开始冲到最后都没冲出来,都没啥思路. 其实分开考虑每个数的贡献,这个想法也存在过,就是不知道该怎么计算,我们考虑我们单独考虑一个数字\(i(1\leq i\leq n ...
- 【动图解释】关系数据库de关系代数小记
本文章在 Github 撰写,同时在 我的博客 进行了发布. 最近学数据库概论学到了关系数据库的关系代数了.哎嘛,真的把我整晕了,尤其是关系代数的使用,很容易让人被蒙在鼓里. 对我来说槽点最大的莫过于 ...
- 区块链开发学习第三章:私有链上部署helloBlockchain简单合约
前面讲了部署私有链以及新增账户,现在进行到了部署合约了,此操作真是踩了无数无数无数的坑,到写文章为止确实是已经部署好了,但是还有些坑是还没有解决的! 一.Solidity编译器 开始的时候用的http ...
- Python学习路线【对标大厂Python工程师的招聘要求,并推荐优质免费资源】打卡学习不迷茫
您好,我是码农飞哥,感谢您阅读本文,欢迎一键三连哦. 本文要点:从Python爬虫工程师的招聘要求出发制定学习路线,同时还推荐免费优质的学习资源. 打卡学习不迷茫. 干货满满,建议收藏,需要用到时常看 ...
- Qt 实时显示系统时间
前言 我们用一个label控件来实时显示系统时间,用到 QTimer 和 QDateTime 这个两个类. 正题 头文件: #ifndef MAINWINDOW_H #define MAINWINDO ...
- MySQL之DDL数据定义语言:库、表的管理
库的管理 常用命令 #创建库 create database if not exists 库名 [ character set 字符集名]; create database if not exists ...
- dart系列之:dart语言中的函数
目录 简介 函数的参数 main函数 匿名函数 闭包 函数的返回值 总结 简介 函数是所有编程语言都有的内容,不管是面向对象还是面向过程,函数都是非常重要的一部分.dart中的函数和java中的函数有 ...