\(HNOI退役记\)
今天,4月7日,两年的OI算是正式结束了.
说不上悲伤,也说不上高兴,终于要回去搞文化了,其实在考完联赛之后看到自己的成绩就大概猜到自己与省队是没什么关系的了,但是出于不想搞文化课对OI的热爱,我还是选择了留下来搞省选,最后的结果也不是很理想,但是我觉得我已经尽力了,这两天没出什么大失误,但是还是因为水平不够,没能拿到很高的分数,OI生涯就此告一段落了吧.
day0
下午和李总来到了长沙理工边上的一件旅馆住下了,为了防止再像去年那样迟到10+min...
晚上没有搞什么复习了,大概还有点不熟的就exp和exlucas了吧,然而这东西这么长我怎么记得住...于是和李总余哥鸡哥神佬打了会牌就休息了.
宾馆空调不能调温度是真的zz
day1
早上和小伙伴们一起在长沙理工外面吃了个早饭就进去了,比起去年还算早.
进了考场半个小时看完三道题,然而这时我并没有看懂\(T3\),先想了想\(T1\)和\(T2\),看到\(T1\)计算几何有点慌.
仔细想了想,发现只要判断角度是直角,锐角还是钝角,那么就可以直接用高中必修5的余弦定理来判断了.
然后开始暴力码码码,结果因为一些小地方写错了浪费了很多时间,调完一个20pts的暴力此时已经是9点多.
\(T2\)想到了一些奇奇怪怪的东西,首先是想到了\(sam\),然而这东西我并不会,然后想到了用卷积代替\(kmp\),动态维护这个卷积.除了用可持久化来维护这个历史版本之外我啥都确定不了.(据说\(T2\)是个什么可持久化\(sam\)?反正我是写不出来的).看了下其他的部分分,好像也没什么会写的.于是开始打暴力\(kmp\),没多久调出来了.
此时已经是10点左右了,因为还没太看懂\(T3\)的题意,考虑了一下是不是要直接放掉\(T3\)然后再\(T1,T2\)想个部分分.最后还是觉得不要随便放掉一道题,于是重新开始看\(T3\).
大概10点多的时候终于是看懂了题意...稍微想了一下发现可以以那些与\(n\)相连的点为分界线,然后分成一块一块的递归处理,最后再用组合的方法合并这一块一块的.
调了两个多小时,最终还是没调出来,交了一个样例都过不了的代码...
预计成绩:\(20+20+0 = 40\)
实际成绩(下午在考场看的成绩):\(20+20+5=45\)
\(T3\)连样例都过不了的代码能拿\(5\)分是个什么鬼啊
考完之后问了下小伙伴们,好像他们的分数都不是很理想,除了余哥预计的分数还可以,大概有100+,但是在下午测的时候好像是有点小问题然后没过的,莫名少了几十分,我都替余哥感到炸心态...
day2
今天早上李总过来专车接送,差不多是跟着第一批人一起进的考场.
昨天还想着今天是不是会和去年\(HNOI2018\)一样,出一些day2T3一样的题,还能再补救一下,怀着这样的心态进了考场.
因为今天非常早,进去先打好了配置,又打了个\(NTT\)的板子,还打了个对拍,然而这些最后都没用到.
打开pdf,一看:白兔?!,完了\(laofu\)还是来出题了,想到之前\(laofu\)出的都是些非常神仙+思维难度贼高+代码量大+数学题,我连\(T2\)都有点不敢看了...
先看\(T1\),细心的我一眼就发现了样例解释和我想的不太一样,我有点担心是自己理解错题了,就先没管着了.
接着看\(T2\),题面感觉有点长.看了一遍下来感觉前20pts是可以直接\(dp\)的,然后开始码码码.打完了发现过不了样例,什么鬼?调了一下发现题意搞错了,还好没浪费太多时间,又重新按照正确的题意改了下\(dp\),然后时间复杂度从\(L*n\)变成了\(L^2*n ^2\)的...想着先写着吧,万一有分呢?
接着看\(T3\),一眼看上去\(dp\)?感觉什么都是\(dp\),我记得好像在之前\(HolseLee\)给我推荐过一道类似的题,大概题意类似,只不过是求的标准差,并且好像是只有一次询问的.我并没写那题,不过\(T3\)好像和那题关系也并不大.
然后猜了个结论:把下降的一段用平均值来代替.好像看了题解之后这个结论也确实是对的.
然后我就写了个爆搜,暴力枚举分成哪几个段
考试的时候我也想过要不要直接用double来记答案\(dp\)的来更新一下,事实证明是可以的,早知道这题多花点时间了...
然后再看看\(T2\),发现\(n=1\)的时候直接计数就可以了,然而,预处理组合数需要先预处理阶乘和逆元,我看到这个\(L\leq 1e8\)就放弃了.但是鸡哥写了一个还拿了20pts.我实在是没想到\(CCF\)的老年机可以跑这么快...早知道这20分这么好拿不要白不要.
最后还是没想到\(T1\)有什么可以维护的方法,我想了一个枚举点,然后将与这个点相邻的点更新合法情况的方法,但是稍微分析了一下复杂度感觉还是会爆炸,实在是看不懂这个\(m\leq 10000\)是要干嘛.
最后预计成绩:\(0+0+10=10\)
实际成绩(依然是下午看的测试成绩):\(0+0+10=10\)
这次省选最大的遗憾就是没能在考试的时候调出day1T3,少学点奇奇怪怪的没用的算法,\(dp\)才是王道...
恩,就这样吧.