7.19模拟赛--考后总结

博主分享了一场算法竞赛中的时间分配与解决策略,包括AC自动机、树链剖分、弗洛伊德算法等。重点回顾了T1中暴搜题的失误,T2中树剖分的优化,以及T3中巧妙利用人类智慧和技巧。最后提到T1的矩形相交判断问题和T2数据的简单性。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

时间安排

7:30–7:35 读题。

7:35–8:30 T2,离线是容易的,树上莫队就行了。

8:40–9:20 T2,在线可以考虑树链剖分,每条链开个桶,询问时暴力二分,根据dfn判一下就行了,均摊复杂度 106log⁡210^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:有个点没注意到,就是确定两端点后,不论分界点在哪,其与其他点的最短路距离是不会变的。场上的想法和题解差不多,找到两边最远的两个点,解方程得到最优点,可是因为枚举分界点时两边的点集会变就不会了,可是这个点集变化的时间点实际上也是可以算出来的。这种通过计算变化时刻来快速维护元素集合的套路以前貌似也遇见过,要学习。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值