HNOI2017 游记

若是你要问我为何如今才发出来,那是由于我太懒了php

Day0:数组

  平常看板子……不想写题,嘴巴了几道题以后也不想写……函数

  到了晚上颓起来了……回想了一下彷佛也没有立什么flag,那就愉快地颓吧……深感技术下滑严重spa


 Day1:get

  考前仍是很紧张的,不知道为何一到大考前就以为本身这也不会那也不会。看了不少板子(虽然最后也没有用上)。io

  Day1开始也不知道出了什么问题,总之就是题目打不开,加紧给咱们印刷了纸质版……因而就多了40min的打板子时间。而后这40min我就一直在写FFT……最后就是一直到开考了尚未调出来。当时我就想HNOI应该不会有FFT吧(flag)。程序

  开考看了下三道题,感受今年的画风不太对。感受T1很可作的样子。记得老师一再强调要先写暴力,那就先写暴力吧。接着发现T3彷佛有个70分的暴力也不难,$O(n^2)$算一算而后解个不等式就直接出答案了。技术

  接下来就开始写T1。一开始想简单了,觉得每次旋转其它全部点的深度都会加,这样的话就只须要一个全局标记了……后来才发现旋转的点的子树深度是不变的。花了点时间改过来。写完后拍出了几个错误,以后就和暴力拍上了。此时看了下时间,过去了2h左右。数据

  接下来花了1h左右写T3,试了各类办法,好比把平方拆了,猜有单调性什么的……可是并无意识到我暴力算的那玩意儿就是一个点积,能够FFT加速。最后分数仍是70分。文件

  接下来的时间我就一直在刚T2。总以为这道题和去年的序列很像……可是想了好久都不会低于$O(n^2)$的作法。看了下还有一个部分分,感受并无什么用的样子……而后忽然发现,这个部分分能够把$p_1$ 拆成两个$p_2$来算,那么就是HNOI2016的序列了,而且仍是简化版……

  而后……HNOI2016序列怎么写来着?

  花了点时间回忆起了莫队作法,可是线段树作法想不起来了……20W的范围莫队有点虚,最后仍是硬着头皮写了……而后发现极限数据6s,就开始了紧张刺激的卡常数,最后卡到了2.0s,恰好就是时限,不知道有分没……

  一直等到了5点终于出数据了,开心地发现我三道题都没挂,T2写的60分还卡过去了,真是让人感动。仔细看了一下T2那30分的数据,发现恰好没到极限,因而我就恰好跑过去了……感受100+60+70=230彷佛是个比较高的分数?

  晚上和我爸散完步回到家,发现UOJ群里已经出成绩了……点开一看,就被吓到了。TM怎么这么多上200分的啊!我联赛考砸这是要完的节奏啊!今年省选标准分这么高还让不让联赛考砸的人活了啊!


 Day2:

  今天比昨天还紧张……大概是由于Day1考得比较好,让我有了冲省队的欲望吧。

  今天题目没有出问题了,顺利打开了题面。看了一下题目,T2竟然是个计算几何,T1感受是个dp可是C的范围有$10^{18}$感受无法作啊……T3彷佛就是用组合数算算?那么70分仍是很好写的吧……(下考场就被告知我T1看错数据范围了)

  而后就开始写暴力。第一题暴力很好写,写完以后加个记忆化还能够多20分。感受空间有点虚,一测空间竟然真TM爆掉了……而后发现我数组开的是int,实际上只要bool就能够了……成功压下空间。

  跳过T2先开始写T3。忽然发现这个模数怎么那么鬼畜……感受70分拿不到了啊……彷佛须要CRT?可是我不会算模数为$p^k$的组合数啊……

  而后我就发现我傻逼了。模数的质因子只有2和5,那么预处理阶乘的时候把2和5所有除掉,剩下的部分求逆就能够了。输出不想写特判,就转成高精度输出吧。

  写出来测了一发9组相同的极限数据,发现输出怎么不同?而后就发现了屡次输出高精度数组没清空……刚好我暴力用的是同一个print函数,因此拍不出来……好险……

  接着就发现被卡常了,因而又开始了刺激的卡常数……逆元改为递推求,2和5的幂次预处理……最后卡到了10组0.2s。想着这70分应该是稳了。

  想了一下子T3正解无果,就开始写T2的暴力。而后发现T2真TM难写。射线和线段判交怎么写啊!最后我强行把射线和线段都转成直线,而后直线求完交再来判交点是否既在线段上又在射线上……我仍是用解析式算的……接着我又不会判点是否在射线上……最后就是大力特判,分类讨论……庆幸最后没有挂,我过了样例就没管了。

  最后的时间一直在刚T3,由于以为暴力分多的题确定正解容易些(像昨天的T3同样)。而后推了1h左右的式子无果,就开始找规律。而后就发现答案彷佛是杨辉三角某一行的前缀和?仔细看了下发现答案是$\sum_{i=0}^{a-1}\binom{a+b}{i}$,拍了一下彷佛很对,可是彷佛要算$O(b)$个组合数?

  又过了一段时间,忽然想起来组合数是对称的,因此咱们能够算出前$\frac{a+b}{2}$个组合数的和,这样接下来就只要算$O(a-b)$个组合数了……很是开心,而后发现……我不会算这个模数下的组合数……

  仔细想了想,这个模数也不是质数,分解以后仍是$p^k$的形式……彷佛有人讲过模数是$p^k$形式的组合数怎么算?可是我已经忘记了……试图现场推出可是失败了……接着我就欺骗本身正解绝对不是这个东西(flag)

  接着找到了一个神奇的数列,能够用这个数列来算答案。前几项分别是$1,2,5,14,41$,而后我竟然没看出来这是斯特林数,也没有再日后算一项,还觉得是乘3减1。开开心心写了一个矩乘,拍Wa了就没交上去。

  因为一直到12:58我都还在写矩乘,最后的检查比较匆忙,因此也很怕出现程序交错,文件名打错之类的低级错误……

  过了不知道多久,终于出分数了……老师告诉我今天140。那么又是一分没挂?虽然我写的大多都是暴力分,可是省选一题不挂也不容易了。今天40+30+70=140,感受彷佛要进队了?也许能够卡进前13?

  接着就是紧张的统分环节……统完分以后据说省队线300分左右?内心默默加上个人联赛分数算了一下,感受彷佛……真的要进队了啊!

 

  最后的结果就是某个联赛考砸的家伙省选翻盘,成功进队。

  这以后,竞赛也展示出了残酷的一面——有人留下来,就得有人离去。省选出成绩的那一刹那,内心不仅是喜悦,还有一股忧伤——由于意识到要失去一些Friends了。竞赛就是如此残酷,咱们能作的,就是尽力作到最好。不管省选如何,将来的路还很长,你们一块儿加油!

相关文章
相关标签/搜索