前言
我是废物!!
可能学了一部分省选算法,但是到考场上就只会打暴力。而且日常写挂。
随时准备退役(
Day 0
车程一个多小时,几乎全部拿来打皇室。这个赛季要冲上 5900!
我和 QuantAsk,RABU 两位神仙以及两位莞中的选手住一间宿舍。看了看耀华的宿舍,条件比我们学校差多了。坐在下铺头就会撞到上铺的板子不说,连个给手机充电的地方都没有。最后发现厕所里的插座是可以充电的,由于莞中的同学没有带手机,所以我们三个就轮流去厕所充电(
食堂很小。估计只有我们学校食堂一层的十分之一大。饭菜还可以。
然后晚上就是和 RABU,bruteforce 神仙打 Phigros。把 The Mountain Eater 和 MOBILYS 鞭尸了。
九点半熄灯对熬夜选手太不友好了。
没复习板子,懒。
Day 1
早餐吃的想吐(
开题,简单看了一下三道题,就感觉 T1 很可做的样子。
于是搞了搞 T1 发现会 60pts,很快打完。然后因为式子是一个 (max(a,b)-min(c,d)) 的东西,其中 (a,b,c,d) 分别跟前缀后缀 (min) 或 (max) 有联系,所以一直想着怎么把 (max) 和 (min) 拆开。讨论了一下觉得可以线段树乱搞,结果写到第三个讨论时发现假了。然后神经病的一直在这个思路想,根本没有想到直接排序二分就解决了问题 /kk。
过了一会没什么思路就扔了去看 T2,(n,mleq 3) 的写了一个贪心,发现可以被卡但是也想不到什么其他更好的解法。然后 (m=2) 也写了一个暴力。
继续刚 T1 了好久依然不会(我是废物!!)。看 T3,发现其实就是等价于只能走编号更大的,那直接 Floyd 就有 44pts 了。写完之后死调调不出来,对着只有 5 行的 Floyd 看了无数遍。当时没剩多少时间,非常紧张,最后这 44pts 也没有拿到。
心态崩了。去年 Day1 T1 是线段数常数大被卡成 60pts,今年是只会 60pts 暴力了。
下午听 dzd 激情演讲:“每次我讲话就会响起热烈的掌声”,全程皇室。
晚上吃麦当劳外卖,然后又是回到宿舍愉快的 Phigros。
Day2
早餐依然很难吃。
开题后感觉都不是很可做,然后又看了挺久 T1 才发现给出的字符串每一个字符都不同。也就意味着每一个字符后面都有固定的字符。
然后看一下链的部分分,唉唉唉这不是弹飞绵羊吗?十分后悔自己弹飞绵羊只写过分块 (O(nsqrt{n})) 的解法。然后直接猜测这道题就是树剖然后 LCT 做到 (O(nlog^2 n))。
然后再一看唉唉唉怎么不带修?
那还要个锤子的 LCT,直接树剖之后每一条链拎出来建一棵树然后倍增就好了。
但是发现这样路径在经过一条轻边的时候需要求“一条链上下一个字符为 (c) 的点是哪一个”,这的确是可以搞的,但是懒癌突然犯了,因为跳到路径顶端时往下走还需要再建反方向的树,感觉这个码量就不是给人打的。于是就觉得可以二分答案,但是二分了之后就变成 (O(nlog^3 n)) 了。
冷静了一下先把暴力敲了,然后想敲第一种很麻烦的方法,敲到一半实在被自己的代码恶心到了,于是扔了看 T2。
发现 T2 60pts 就是送分的,赶快写了一个 next_permutation。
T3 一看就要支配树,但是我支配树只会 DAG 上的,于是写了一个 (O(Qn^3)) 的点,希望它能卡过第二档部分分。
最后决定写 T1 的第二档部分分,因为颜色不超过 (300) 所以可以不用倍增或其他方法求下一个颜色为 (c) 的点是哪一个,直接开数组就好了。然后代码写的丑的要死,最后 15min 写出来过了小样例,但是大样例一直 RE。心态很崩。最后几分钟才想起没有开大栈空间,补上之后就过了大样例。
最后 T1 代码写了 8.8kb。虽然有大约 4kb 是注释掉了的。
出考场得知人均两天 T1。问已经进了队的场外选手 oisdoaiu 神仙
下午要等普及组考完才能回学校,然后就和 RABU 打了四五小时的 Phigros。他想连上时停,我想杀掉 mechanted,结果最后我们打到没有知觉都没成功(
后记
(60+50+8+50+60+30=258)。菜炸了。
去年省选的时候抱着就是来划划水的心态参加,想着反正主要是看高一高二,我的 OI 生涯才过了一半呢。今年省选的时候才发现时间完全不够了。一年来几乎没有任何长进。学了的算法不会用,刷了的题就忘。
希望明年能写出来 Day1 T1 吧(bushi)