NOIP2021游寄
看起来考的不是那么寄,补下这篇游记
Day -11 ~ Day 0 停课
gym范做,联考范做,随机颓废
考前复习了一堆奇奇怪怪的板子
Day 1
早上五点多就醒了,大概是压力带来的失眠
7:30就到考场了,在nfls,感觉还没什么人到。
经典坐电梯上楼,然后被一个老师瞪了好久。
然后进行了一个面基(?)
实际今天连张给都没见到
8:00进机房试机,dy,lxr,袁神,gh在一个考场
找到座位坐下,写id.txt,然后敲header,敲到一半,发现id.txt没传上去,然后看下座位号,我坐错了。
找到向后两个机位的座位,关老师在我左前方的对面(省选day2既视感,当时张给坐我左前方的对面)。座位挺难受的。
重新整id.txt和header,id依旧传不上去。
8:25下发试题,发现下载不了,整了个两三分钟才好。
然后开题,看T1是个筛子题,应该是个魔改线筛(flag),看T2是个一般通过数位dp,看T3是个我不懂的题,看T4也是个我不懂的题
仔细思考下T3,发现这个东西我见过,是交换差分数组,然后答案一定是个单谷的。
开始码T1,然后码了二十分钟发现完全不会线筛,然后码了个埃氏筛试试看,发现跑了2s,加个cnt测下循环次数,怎么才1.6e7。
怎么回事,是不是我什么地方写挂了,然后瞪眼,卡卡卡,花了半个多小时,感觉没救了,然后写个数据分治,然后发现时间莫名其妙变成了0.6s,原来是机子的问题(报警)
中间还有技术人员帮整id.txt,还有次我代码存不了,反正就是一个字寄。
此时已经10:00,考虑直接暴力\(O(m n^4)\)开码T2,花了20min就码好了。这种大dp我似乎还是比较擅长的,一遍过编译,发现样例过不去,仔细一想,发现为1的bit能比m高,那加个8就够了。
手测波100 30 30,发现跑了10s(实际是我数据造反了),调整了下循环顺序来卡常,然后发现数据锅了,改成30 100 30,0.88s,润。
中间似乎有监考员来说不要想着作弊,赛后得知有人用手机被抓,省队名额危,rnm退钱。
进行一个WC的上,此时已是11:00,时间只够我再干一题,我选择了看起来发现了一些性质的T3。
我做过一个CEOI2021的题,是直接左右贪心,写了一发,发现样例二挂了。
考虑dp,设\(f_{i,j,k,l}\)表示从大到小考虑到第\(i\)大的差分,首位填到\(j\),末尾填到\(k\),当前\(\sum a_i\)是\(l\)时最小的\(\sum a_i^2\)(方差必须要记录这俩东西),这个复杂度是\(O(n^2a^3)\)的。
考虑优化1,同一种值的一起处理,差分为0的单独考虑时,其他的差每种最多出现\(a\)个,复杂度变为\(O(na^5)\)(卡不满)
考虑优化2,给定\(i,j\)能推出\(k\),复杂度变为\(O(na^4)\)
考虑优化3,本质不同的差分取值只有\(sqrt(a)\)个,复杂度变为\(O(na^3\sqrt a)\)
考虑优化4,空间被卡,滚动掉第一维
考虑优化5,第一维和转移的复杂度,实际可以合并,复杂度变为\(O(na^3)\),所以这是能过最后一档的原因,但赛时没发现
写完了调调调,发现调自闭了,最后发现是公差为0的等差数列我预处理处理寄掉了。
考场上也没怎么算能过多少,感觉能过60分左右,赛后证明实际最后三个点完全跑不满。也能过。
考试还剩35min,码T4,先把好写的只有0和1的写了,然后发现时间似乎不太够写bfs了,只好忍痛检查。
出考场时我心态是炸的,似乎是?+100+?+8,再一问大众分300+。T3似乎一众乱搞哥,就我写了个多项式复杂度。自闭闭,坐大牢。(出考场时还不小心把袁神和lxr认错了)
中午和pmt恰饭,他T4码出来72没交上去,惨惨,仔细想想T4似乎是个倒序维护的巨大恶心题。
下午回家测了测,发现似乎民间数据有100+100+72+8=280pts,一分没挂,似乎也没那么差,但似乎有一众随机化选手吊打我,还有不懂但大受震撼的爆搜84。
今天和空气斗智斗勇了很久,希望以后不要再出现这种神必问题。
这么多年OI最重要的一次NOIP,发挥还算稳定,也希望之后的比赛能一路顺利吧。
upd on 11.29
终测出了,分数没有变动,100+100+72+8=280