游记
进场前的同学们

柠檬熟了、Nitaycke、Prms_Prmt、b1t

zhicheng,meatherm
开题,很快啊,
第一题不就桶排,今年签到没有去年恶心啊(9:00)
第二题,观察到每个变量最后只有一个值的依靠(或者干脆定值),建图染色就好了啊,冲冲冲,9:30 就过完了样例
此时:优势在我!
第三题,发现就是区间匹配啊,转化为一个四联通的网格图走路,思考特殊性质,不会,思考 bitset 能不能艹 \(4\times 10^4\),没成功,35 pts 跑路。11:20 了,感觉比较寄
第四题,看起来我会 \(O(n^2)\) dp!我还会特殊性质 AB,那我是不是达到预期了啊,然后开始冲暴力。
写完数组,突然想到我的目的是完成挑战,开始结束一定在端点上,写个 dp 式子,发现和某个联考题很像,是可持久化李超?哦 \(ij\) 没有交错啊,那是不是单调队列啊。这个开始的价值动态更新,那扫描线掉区间右端点,加区间左端点,用线段树维护就完了。此时11:40,高兴麻了,那 300+ 是不是到 SC NOIP 队线了,开冲。
12:10 就写完了,怎么过不去样例啊?哦 \(xy\) 反了。测样例 \(2\),过不去,哦多测挂了。
然后还是过不去?为什么啊???
是不是结论假了啊?没道理啊。
…………
然后就没有然后了。
期望得分 \(100+100+35+0=235\),应该没挂分。
出考场不久就发现把相邻判成离散化后相邻了,艹艹艹!喜挂 \(100pts\) ?!我草怎么考场上被机械降智了啊!原来的 \(335pts\) 至少也是遥遥领先我们机房的,现在寄了吧。
完蛋!我被降智包围了!♿♿♿。自闭。♿♿♿。暴力有 \(56\) 分,,,
出来发现 Meatherm 挂的更严重,第二题开始就心态炸完了。Hanghang 第一题看错了,Nityacke 说他第一题 FST 了(是 \(10pts\) 还是多少?),zhicheng 再次以大众分第一(?),绷。
但是今年是 easy round 啊,是不是高二人均阿克了,高一希望比较渺茫啊。
反思:
前两道题倒是比较顺利。
第三题可能不在我目前的能力范围内,在时间充裕的时间内思考一个小时然后暴力是正确的。
最大的失误在第四题。第四题很快想出了正解,很快写完了,却没有考虑到这样的罕见的小细节;检查时,我使用了一般的检查方法,也重新思考了逻辑,感觉非常对,然后就没有发现错误。
事实上,如果我预先写好暴力,不仅至少我可以得到最低的暴力分,我应该也可以结合暴力和不算太大的样例 \(2\) 分析出错误。所以非签到题先打暴力显然是明智的选择。
赛后我发现,我犯错误的原因是这样:我在纸上写的 \(O(n^2)\) dp 方程是这样:
这里 \(c_j\) 是从 \(j\) 出发到 \(i\) 的贡献,使用扫描线,\(g\) 是这一个位置不跑步打卡的最大能量。
这是正确的。再结合“一定是从区间端点开始和结束”就可以获得离散化+线段树优化 dp 的正解。但是,这一把 \(O(n^2)\) dp 方程转化为 \(O(m^2)\)(未经线段树优化)的过程只在我脑中进行和代码用线段树实践了,未在纸上清晰地展示出来:这带来一些谬误,由离散化前后的值不同引起。
新的 dp 方程应该是这样:
\(rev\) 指离散化数组代指的原值。这对线段树优化的影响不大。
显然这是容易处理的,我却在脑袋里和代码里忽略了第一种情况,导致答案一直在某几个点偏小,最终也没有发现这个问题。所以,另一个教训是一定要把思路和可能想到的细节清晰地展现在纸上。