GDKOI2021 爆炸记
@
GDKOI2021 爆炸记
前言
害,我果然还是好菜。
不会的照样不会,会打的还因为一堆奇奇怪怪的问题错了一大堆。
普及(Day 1~3)
Day one
比赛
拿到题目先看题。
第一题看了一下,第一样过去人都蒙了。
啊?这不是普及吗,怎么一个表的函数的呢?
然后仔细看了几眼,发现只要简单模拟一下然后分类讨论就可以了。
第二题,看到题目暴力很容易就出来了。
然后想了想发现要快速求一个点左边比它高的一个和右边比它高的第一个。
然后想了想没想到有什么算法。
第三题,想了一会,发现它的数据 \(n\) 到了 \(1e6\),而且觉得有点贪心,但是还没有完整的想法。
然后想了一下,就去看下一题。
第四题,一开始看了一会发现了一定是拿全部钱去买通行旅票的性质,然后就陷入和每次都要跑一个图会超时的思考。
然后就滚去先敲第一题了。
然后看题大概看了 \(15\) 分钟左右。
然后先去搞第一题,因为思路完整,很快就写出来了。包上检查细节,大概用了 \(20\) 分钟。
然后先去写第二题的暴力,就直接枚举两边第一个比它高的位置,然后前缀和算空间大小。大概用了 \(20\) 分钟。
然后第三题还没有思路,就先去打第四题的暴力。然后打完暴力想了一下,发现可以离线处理,想弄最小生成树的样子,边按权值排序,然后依次处理出答案。
(这个时候大概是过了 \(70\) 分钟)
然后就去写,大概又写了 \(20\) 分钟,就写出来了。
接着去想第三题,想了想,想到用最大加最小,然后具体的贪心方案也想了出来,就打。
因为比较好实现,弄个 \(10\) 分钟就弄好了。
接着去看第二题,做的时候一时间忘记了可以用单调队列找序列中第一个比它大的数,然后想来想去,最后用了二分+线段树来弄。
然后这里大概又搞了二十分钟左右。
然后全部打完了,就开始对拍。
首先觉得第一题这么好弄是不是哪里有问题,就去弄第一个题的对拍。
这题的对拍也是最好弄的,在生成随机数据的时候就可以先生成一个正确的,然后随机一个位置作为答案,然后改一下即可。
结果我比赛时忘了生成随机种子是 srand(time(0))
,傻乎乎的一位是 random()
,然后就只能只能通过数据数组这个值过掉一些数,然后弄成随机的样子。
然后在拍第一题的时候就去弄第二题的对拍。
因为一开始打了暴力,就也很快弄好,就把第一题的对拍停了排第二题。
注意,我这里的对拍没有看时间,只是看答案。
然后拍第二题的时候就去弄第四题的对拍。
(因为第三题贪心完之后实现很简单,而且暴力也不知道怎么打,就直接不对拍了)
之前也是打过暴力,也很快弄好。
然后我就三个对拍轮流跑,一直到比赛结束。
赛后聊天
LYF 第二题用的是堆,然后一堆人全部用的算法各种各样。
还说我的线段树常数很大,不知道能不能过。
然后第三题的贪心跟一堆人对了应该是对的。
下午讲题
T1 分类套路,我的没问题。
T2 结果是用单调队列来搞,就不知道我的线段树加二分能不能过。
T3 贪心证实了是对的。
T4 离线没问题。
然后内心疯狂祈祷第二题能过。
下午讲课
讲数论,很多内容。
我拿个草稿本不停记笔记,草稿本上没位置写了就跑回去拿个笔记本继续记。
然后现在正在整理,到时会有一篇博客出来。
晚上
出成绩了,\(340\)。
(\(100+40+100+100\))
LYF 和 LXY 两位大爷反手就 AK 了。
第二题超时了,然后我才发现我打的对拍一直都没有看超时。
然后就去跟 LYF 这个神仙的代码对拍。
然后发现有的时候我确实会超时。
然后 LYF 大爷看了一眼我的代码,说:“你怎么不用快读快输呢?”
我:“哦!c!是哦!。”
然后我加了个快读快输之后,它跑得飞快。
。。。
我直接哭死。
Day two
比赛
听说题目难度会变高,感觉要凉。
拿到题目先看题。
第一题看到有点慌,然后想了一会觉得应该可以找每个数循环起来之后最后一个数的周期,然后最后把每个数轮到的周期数乘起来,就可以得到最后一位。
第二题想了一会,感觉思路有点混乱,不知道先约束哪个条件,然后就跳去看下一题。
第三题看了一下题,发现就是走树上的链。然后又是距离,然后直接跑又过不了,然后就想到了用倍增。但是具体怎么实现还不是很清楚,就去看下一题。
最烦的构造题目,看着题目一脸懵逼。看半天也没有想法,就先做题了。
看题大概都看了半个小时,人都傻掉了。
然后去弄第一题,打完结果发现样例都过不了,自己的想法是错的。
然后就更加慌了,感觉自己今天要爆蛋。
然后调试了一下,发现 \(2\) 和 \(5\) 乘在一起会一一消掉。
然后改了一下发现还是过不了。
然后又发现其实可以把不是质数的数拆开,然后只剩下 \(2,3,5,7\),二和五再消掉之后再按末尾规律乘起来。
然后过了样例,自己出了几个小数据也过了,就去弄下一题了。
然后先去弄第三题,先正常的弄个了树上倍增。然后想了想,因为要弄距离最小值,我们可以弄到根距离的最大值最小值,然后分类讨论一下乱搞,然后就试着打。
但是因为比较混乱,打出来的也不知道对不对,过了样例和自己出的数据就走人了。
然后去想第二题怎么搞,想了很久,想到一个方法,就是先按正则二叉树的规定建树,然后再看是否是正则二叉树。
然后去看第四题,一脸懵,只会瞎搞,搞了个全部都是 \(1\) 和行列和为 \(2\) 的情况,还不知道会不会有锅。
赛后聊天
第一题对了一下大家都差不多。
第二题大家算法各有不同,问了一下我的算法,才突然想起来最后没有判断是否是 bfs 序,然后就贼慌。
第三题大家似乎都是用倍增,但我思路糊成一团,应该都是没有分的了。
第四题好像说可以把图转化成只有 \(0,1\) 的,然而这样我还是不会做。
下午讲题
第一题没问题。
第二题好像是一个神奇的算法,弄成很多棵树,然后一个一个看放儿子。就不知道我的能不能过(应该不行,因为没看 bfs 序)。
第三题正解也是倍增,而且想法和我的差不多。但我那垃圾的代码实现能力告诉我我应该是不行的。
第四题真的可以把图转成 \(0,1\) ,然后简单判断一下就可以了。
下午讲课
讲的是概率,海星吧。
晚上
成绩出了,\(200\)。
(\(100+100+0+0\))
第二题过了是我妹想到的。
果然,第三题炸了。
然后第四题的部分分还打错了,我就是个菜鸡。
LYF 大爷还自己弄了个 Excel 表格看前两天分数的排名。
AJ 说明天题目会没有前两天那么简单。
LYF:我信你个鬼,第一天那么简单,怎么可能比第一天还简单。
我和 LTH:
会宿舍的时候,LYF 跟我说明天可能会有 dp、斜率优化……
因为前面没有考。
我:普及考斜率优化?
LYF:斜率优化其实很简单。
我:/jk
Day three
比赛
拿到题目先看题。
第一题看是否相似,直接三边比例相同即可。
想了一下精度可能会有问题,但觉得用 double 应该不会出锅。
第二题看了一下觉得就是看极限情况,觉得手推一下应该有结论,就没有管太多。
第三题是数论,大概看了一下就想着暴力。
第四题看起来也很数论,就也想了一下暴力。
然后先去弄第一题,一开始忘了按长度排序,就直接暴力匹配。
(但是这个不是问题)
然后还是怕精度有问题,就弄了个 1e-6。
然后第二题推了一下极限数据,就发现了大概的贪心。
最低就是你永远零分,比你低的视为跟你一样零分,比你高的就是满分。然后每次把满分分给不同的人。
最高就是你永远比满分只差无限小的分数,比你高的是满分,比你低的是零分。那就尽可能把满分分配给有过没有满分的人,那全部都是满分的人数就是当时在你前面的人数。
然后就去先把第三第四题的暴力打出来。
然后先去看第三题,一开始看能不能把最后里面的那一维去掉。
当然,你会发现你可以在枚举到第二维的时候记忆化一下答案,因为第二维可能会多次选到同一个数,而且第一维对它是没有影响的。
那我们就打一下表,看看结果:
\(998244353,1,998244353,998244353,1,998244353,998244353,998244353,998244353,1\)
等等,为什么会有 \(998244353\),这个不是模数吗?
哦,有个地方忘了取模。(国 际 憨 憨 TJH)
把取模弄好之后:
\(0,1,0,0,1,0,0,0,0,1\)
好像一开始 \(0\) 的话是 \(0\),\(1\) 的话是 \(1\),然后两个 \(1\) 之间隔开的距离从 \(2\) 开始每次增加 \(2\)。
打个程序验证一下,发现是对的。
然后再一看,发现这个就是平方数的位置是 \(1\),否则是 \(0\)。
那弄回去一看……
兄嘚,这个不就是求 \(1\sim n\) 中每个数有多少个平方数因子,然后每个个数的和吗?
然后就火速实现。
然后去搞 T4。
想了想 LYF 大爷的话,想到可能是 dp。
然后想到一个十分暴力,可以说是 \(n^5\) 复杂度的暴力,然后一看数据范围,好像能过挺多的点。然后就去打。
结果大数据跑得飞快,自己弄个了极限数据,也过了?!
然后就开始搞对拍,由于前两题似乎不太好弄,就只弄了三四题的对拍。
因为打过暴力,所以也很快。
然后就看着对拍等结束。
赛后聊天
好像也没聊啥特别的。
下午讲题
第一题证明方法是对的,但是说因为精度问题要化成最简分数的形式。
危 TJH 危
第二题大致的方向是对的,但是它的具体实现好像和我的不一样。
第三题数论推对了。
第四题就是 \(n^5\) 的 dp。
下午讲课
将的是凸包。
有个初一的在讲课的时候当场把模板切了。
我好菜,我可以退役了。/kk
晚上
成绩出来,\(355\)。
\(85+70+100+100\)
果然,前两题出锅了。
第一题应该是精度问题,听说改成 long double 然后 \(12\) 位精度就可以过。
血亏。
第二题应该是实现的问题。
明天就要提高,想想普及的恶心难度,我觉得提高要凉。
提高(Day 4~6)
Day four
比赛
先看题。
第一题就是一个构造题,一脸懵。
然后想了想,可以每次选当时度数最大的点放到另一个集合。然后大概这个方法搞搞。
结果一看只能过 \(20\) 分的。
然后看第二题。想了一下,想了个 \(n^2\) 暴力就滚了。
然后第三题,看到回文串就想到 hash,然后就想到了 \(n^2\) 算法。
然后第四题,看到题目一脸懵,然后看了看数据,好像也就 \(k=0\) 能做。
然后就先弄先把前两题暴力写出来。
然后写第三题,就写 hash+二分那个。
然后把第四题 \(k=0\) 的情况水了。
然后发现第二题可以把每个点高度被选为最大值时贡献排序后的连续部分一起过掉。然后就打了一下。
然后想了想第一题的二分图应该也可以试着做一做。
然后就去弄。
然后弄完之后只剩十多分钟,就检查了一下,就结束了。
赛后聊天
LYF 神仙竟然只写了一题,不过是正解。
LYF,永远的神!!
下午讲题
第一题似乎是 LYF 神仙的做法,sto LYF orz。
第二题跟我的想法差不多,但是它可以提前处理出来,然后用二分,然后就可以不用每次都找一遍,只用二分一下弄一下就可以了。
第三题好像是用马拉车,但是 hash 也行。(当然还要别的,这个只是说判断是否回文)然后好像要二分,然后还要用 ST 表来维护之类的玩意。
第四题,好像要生成函数,然后又要化式子,一顿操作比例巴拉的。
下午讲课
讲拟阵,非常懵逼。
一堆英文,然后念 PPT。
好像一直听下去并且听懂的只有初一的 WCR 大爷。
(又是初一的,我可能该退役了)
晚上
出成绩了,\(180\)。
(\(100+50+30+0\))
第一题过了是我妹想到的。
我好像大于 \(20\) 的情况都是当二分图来处理啊。
然后好像很多人用二分图的算法过了这道题。
LYF 血亏,惨。
Day five
比赛
先看题目。
第一题,好像在哪里见过……
反正就是推方程嘛,让我想想方程啊。
忘了,那重新推吧。
(那时的我仍没有意识到事情的严重性)
第二题,大概想了一下,发现可以用线段树维护一下一直向前跳。
大概是 \(n^2\) 算法。
第三题,看了一下觉得可以 hash 加贪心。
至于第四题,看了一下打算直接暴力。
然后推第一题的式子,推了个样例过了的。
就不管了。
然后第二题打线段树。
也把第三题贪心了一下,结果发现我的贪心有问题。然后想了想,打了个部分分 dp。
然后第四题打暴力。
赛后聊天
我:对一下第一题的方程。
LYF:啊?第一题不是做过吗。
我:我忘了。
LYF:你自己看。(打开博客)
我:(看了眼方程)耶!推错了呢!
LYF:这个不是做过吗,那你还错?
我:我是废物啊!(神志丧失ing)
下午讲题
第一题。。。
没事了,我是**。
第二题大概的想法差不多,但是它的实现比较高级。
第三题确实是 dp,但是要想要用堆来缩短一下时间。
第四题,好像是要把操作转成上浮的,然后再做就会好做很多。
下午讲课
将的是有关随机的。
一开始还听得懂,然后就逐渐蒙圈。
然后就变成了半掉线的状态。
(当然,初一神仙 WCR 肯定是全程听完了啦)
晚上
分数出了,\(120\)。
(\(0+20+70+30\))
我就知道第一题没好事。
LYF 神仙反手就切了第一第三题。
Day six
比赛
先看题目。
第一题看了一下,觉得自己不会暴力。
想了一下因式分解,觉得勉强能水点分。
第二题想了想,弄出了个 \(n^2\) 暴力。
第三题想到暴力模拟,然后一看数据发现一个都过不了。但是觉得只有一个细胞开始的可以试着推规律。
第四题,题目都看的一脸懵,就打算水部分分。
第一题试着弄了一下暴力,然后打出了第二题的暴力。
然后去看第三题一个细胞怎么弄,然后弄了一个多小时弄出了规律,就打了上去。(结果还是不能过一个细胞全部数据)
然后去看第四题,也不知道写哪个部分分。
就打了个分成两个集合的,也不知道对不对。
下午讲题
第一题好像确实要因式分解,然后一堆恶心分类讨论。
第二题好像要 bitset 优化, 然后又 FFT。
第三题好像是要探究出一个异或的东西来确定当前时间某个点是活是死。然后又要通过容斥来算个数,然后再弄一个数位 dp。
第四题好像还要数据分治,分成两个集合的那个数据点时二分再弄一堆东西。其它的好像有一个是最小生成树,还有一个也是二分,但好像还有证明一个东西,然后再搞。
下午讲课
讲多项式。
开局一个 FFT,中文名都不知道的我直接裂开。
然后啥都不知道,就只能看看它证明的过程。
连证明的前提条件和证出来了什么东西,是干嘛的都完全不知道。
害,我太菜了。
晚上
虽然下午就出成绩的但还是写晚上吧。
(不要破坏队形)
分数是 \(85\)。
(\(10+60+15+0\))
海星,但第二天的第一题让我彻底炸掉了。
总结
海星,但是还是很爆炸。
各种奇妙挂分。
快读、精度、期望。
最不应该的是做过的题都能错。
不愧是我。
不过有了这次的惨痛经历,下次比赛都会加上快读,好好看精度,好好推式子,不要依靠垃圾样例了。
GDKOI2021 爆炸记的更多相关文章
- noip2018 爆炸记
noip2018 爆炸记 day-4 ~ day-2 最后考了两套模拟题,题目好水啊,但是我还是爆炸了. 第一套最后一道题竟然时一道毒瘤打表?但是我看着插头DP可做啊..(然而我并不会插头DP)然后还 ...
- thuwc2018 爆炸记
从没考过这么差,必须好好总结一下.. $day1$: 上午到了雅礼洋湖,下午就开始考试.. 食堂饭菜还是很不错的,听说都是雅礼自己垫的? 下午的$day1$爆炸了.. 开考以后看了一下三个题,感觉一开 ...
- GDOI2017爆炸记
100种方法教你爆零.. 总结 其实这一次比赛除了三个sb的错误还是收获到了很多的.. 起码自己已经知道自己有进队的实力 不足的地方很大 主要是脑子不太好使,题目要不只能拿最暴力的分要不就能a 看了很 ...
- NOIP2018爆炸记
又是一年\(NOIP\),可能是梦结束的地方? 之所以咕了这么久是得先确定自己不会退役,因为分太低了. 和去年一样在学校门前照了相,然后上车走了.高三回来考的只剩下\(p2oileen\)学姐了.新一 ...
- noip2017爆炸记——题解&总结&反省(普及组+提高组)
相关链接: noip2018总结 noip2017是我见过的有史以来最坑爹的一场考试了. 今年北京市考点有一个是我们学校,我还恰好被分到了自己学校(还是自己天天上课的那个教室),于是我同时报了普及提高 ...
- THUWC2018 暴力+爆炸记
Day 0 没有Day0. Day 1 签到然后去宿舍,环境还行,比某偏远山区要强多了,不过这热水有点难拿??看RP有遇到煮好水的饮水机就拿,没有就苟矿泉水. 中午,那个餐还是挺好吃的,不过餐费40就 ...
- GDOI2018爆炸记
Day0 12:45p.m. 从初中部出发前回班探望了一下同学,受到热烈欢迎(?) 13:15p.m. 出发去中山,路上本来想用mac看fz的,结果ass字幕导入失败,心态爆炸*1:后来成功获取xfz ...
- 「杂录」CSP-S 2019 爆炸记&题解
考试状况 \(Day1\) \(8:30\) 解压,先打个含头文件和\(freopen\)的模板程序,准备做题. \(8:35\) 开题,心想着按顺序做吧,毕竟难度一般是按顺序排的. 第一题,一眼看过 ...
- NOIP爆炸记
NOIP爆炸游记 Day 0 Day 1 T1 T2 T3 Day 2 T1 T2 T3 最后 Day 0 复习模板 + 做真题 + 方 Day 1 早上吃了一片面包,就进了考场- T1 Exm??这 ...
随机推荐
- 【MySQL】汇总数据 - avg()、count()、max()、min()、sum()函数的使用
第12章 汇总数据 文章目录 第12章 汇总数据 1.聚集函数 1.1.AVG()函数 avg() 1.2.COUNT()函数 count() 1.3. MAX()函数 max() 1.4.MIN() ...
- PHP MySQLi extension is not loaded
PHP MySQLi extension is not loaded 如何解决呢? yum -y install mysqli.so huozhe yum -y install php-mysql
- ctfhub技能树—RCE—过滤空格
打开靶机 查看页面信息 开始尝试注入 127.0.0.1 || ls 尝试绕过 127.0.0.1||ls 使用cat命令查看flag 127.0.0.11||cat<flag_10872536 ...
- 【开源】我和 JAP(JA Plus) 的故事
JA Plus 故事 程序员的故事如此简单之绕不过去的开源情结 我们准备做一件伟大的事,也可以说是一件真真正正普惠的事. 絮 是的,你没有看错,就是"絮"而非"序&quo ...
- (四)React Ant Design Pro + .Net5 WebApi:PostgreSQL数据库环境搭建
一.简介 PostgreSQL,开源数据库(没听过小伙伴自己反思一下自行百度) PgAdmin,官方提供的数据库管理工具. 二.环境 1. 官网下载包,安装数据库 tar xjvf /app/pack ...
- Api文档自动生成工具
java开发,根据代码自动生成api接口文档工具,支持RESTful风格,今天我们来学一下api-doc的生成 作者:互联网编程. 欢迎投稿,一起交流技术 https://www.jianshu.co ...
- MATLAB中load和imread的读取方式区别
load是导入文件,一般从mat文件中,读取的是结构体imread是图像处理工具箱的库函数,处理图像比较方便,读取的是矩阵 1.之前将数组或者矩阵保存为一个mat格式的文件,在进行load命令读取时: ...
- 手把手做一个基于vue-cli的组件库(上篇)
基于vue-cli4的ui组件库,先贴个最终效果吧,步骤有点多,准备分上下篇,上篇:如何做一个初步的组件.下篇:编写说明文档及页面优化.开工. GitHub源码地址:https://github.co ...
- Servlet中的一些注意事项
servlet中的一些注意事项 1 什么是servlet? 1)Servlet是Sun公司制定的一套技术标准,包含与Web应用相关的一系列接口,是Web应用实现方式的宏观解决方案.而具体的Servle ...
- scrapy爬虫 简单入门
1. 使用cmd+R命令进入命令行窗口,并进入你需要创建项目的目录 cd 项目地址 2. 创建项目 scrapy startproject <项目名> cd <项目名> 例如 ...