考前
前一天晚上没睡好……翻来覆去想了很多。
前一天的中午被班主任骗去上了一节体育课。秋日的晴空下,无垠的阳光洒在绿得盎然,红得斑驳的操场上,洒在奋力奔跑的我们身上。满眼是秋天的金黄。
考试那天上午,心不在焉地把 OI-Wiki 和自己的博客过了一遍,感觉如小兰溪的流水,清清浅浅流过,不着痕迹。因为机房封了,在图书馆顶层训练。站在外面平台,自近而远,逸仙湖,丹霞亭,错落有致的红砖绿瓦掩映于一片翠绿间。远处的群山此起彼伏,一直绵延向目力之极限。确实是绝佳的视野,在机房。
考中
中午意外地睡得很好。
先花了一个小时看题:第一题——毒瘤;第二题——良心;第三题——不会;第四题——瞎蒙……非常有自信。具体而言,第三题先后考虑了线段树等区间数据结构,然而怎么都是过不去起步。第四题瞎想了个结论——显然是错的。
充满自信地,先写完第二题——这里(k le 64)要记得开 unsigned long long。没怎么调就过了。
然后第一题,先把暴力写出来,然后拿到 1583 年 1 月 1 日的儒略日,分开考虑。前前后后码了四十多分钟。然后过小样例 1,过小样例 2,过大样例……不对,没有过……仗着自己有正确性显然的暴力,自信地死杠第一题……
转眼间这道题花了一个多小时,心态直接爆炸。放着调到一半的程序先去写 T4 的 20 分。
回来继续调,最后发现在分段处理时每段第一年是不是闰年需要特殊考虑……改完后看到 fc 命令输出“没有不同”时,激动得从座位上窜起来,然后冲去 WC,留下监考老师一路的惊诧。
此时已经 5:30 了,命运似乎已经注定,留给我的时间不多了。
但我还是决定先写一个自己觉得拿分较高的 T3,十分紧张地用 25 分钟码出来,5分钟调试……没过。心态第二次大崩。
当机立断全部删除,重新写最朴素做法。使出洪荒之力终于在比赛结束前 5 分钟写完并过了第一个小样例。
“听天由命吧……”,抱着这样的想法近乎虚脱地走出机房。不同于上厕所时看见的灿烂晚霞,此时的校园笼罩在夜幕之下。晚间的山风迎面刮来,刺骨的凉意。
考后
那天晚上没敢上讨论群。
第二天好友怂恿我测一侧某谷数据……其实没我想的那么爆炸,总分也就 250……我可真是个二百五。
第二题看到 (k le 64) 没有想到会超出 unsigned long long 范围……不得不说第一题我调出来了,后面两道也没挂分。
后来发现其实挂的不算惨……虽然考得也不算好就是了。
总的来说第一题的时间花太多了……明明前面暴力能有 80 分的,结果最后 20 分调了一个多小时。直接导致最后两题写完暴力就跑。但是其中当机立断地实现第二、第三、第四题的决策还是十分明智的。然后就是第三题第四题没有仔细想……失误还是挺多的。
又是一年之秋,又一次,秋天的小路延伸向远方。
题解
T3
其实第三题我们按照包含关系建图,可以算出每个点单独操作产生的系数,那么每个加操作的系数只由指向它的点的系数与其他节点的单独系数决定。跑遍拓扑序计算答案即可。
T4
发现当当前的蛇吃掉最小蛇后不是最小值时,一定可以吃。因为下一条最大的蛇吃了最小的蛇之后一定会比当前蛇吃完后要小。
而当前的蛇吃完变成最小值后,会不会被吃就取决于下一条蛇,那么下一条蛇吃与不吃又是一个子问题。
注意到两种情况下我们吃过一次后的蛇会单调递减地出现,所以用两个队列即可维护。
……所以为什么我考场上没有想到啊QAQ