时间安排
7:30–7:35 读题。
7:35–8:30 T2,离线是容易的,树上莫队就行了。
8:40–9:20 T2,在线可以考虑树链剖分,每条链开个桶,询问时暴力二分,根据dfn判一下就行了,均摊复杂度 106log210^6\log^2106log2,不过跑不满。
9:20–10:00 T2,対拍调试。
10:00–10:30 T3,根据人类智慧,答案小数部分要么是0要么是0.5,那么枚举分结点跑弗洛伊德。感觉可以三分,不过有点假就没写。
10:30–11:50 T1,矩形的分布很复杂,状态不好维护。不过 nnn 很小,那么直接随机撒点,然后钦定 xxx 轴和 yyy 轴基准线逼近,答案取min。问题在于如何判矩形相交,这个地方调试了好久。
赛后:
T2 数据有点水,卡都不卡就直接过了。
T1 相交的判断有问题,加了两个 if ,用随机化撒点就能过了。呜呜呜丢了 60pts 。
回顾&反思
T1: 暴搜题。场上因为判相交判错丢了 60pts 太可惜了。
T2: AC自动机+主席树。不过树剖双log很快就是了。
T3:有个点没注意到,就是确定两端点后,不论分界点在哪,其与其他点的最短路距离是不会变的。场上的想法和题解差不多,找到两边最远的两个点,解方程得到最优点,可是因为枚举分界点时两边的点集会变就不会了,可是这个点集变化的时间点实际上也是可以算出来的。这种通过计算变化时刻来快速维护元素集合的套路以前貌似也遇见过,要学习。