← Home

题解:P11232 [CSP-S 2024] 超速检测(民间数据)

26 Oct, 2024 11:06 PM +08:00

挺麻烦的一个题,赛时调了 2h2h

先写暴力

O(nm)O(nm) 算出来第一个输出,然后 O(2mnm)O(2^mnm) 枚举删哪些测速点,可以骗到一点分。

考虑优化掉 O(nm)O(nm)

pp 从小到大排序,设 vi,qv_{i, q} 是第 ii 辆车在 qq 点的速度 ,则对于第 ii 辆车 AA

对于 ai<0a_i<0 ,显然可以二分,整体时间复杂度 O(nlogm)O(n\log{m})

考虑优化掉 O(2mnm)O(2^mnm)

pp 是有序的,可以把每辆车的测超速范围看成一个线段 XX ,具体来说,对于第 ii 辆车:

因为 vi,pjv_{i, p_j}pj  dip_j\space{\geq}{\space}d_i 上具有单调性,所以二分求 XX,时间复杂度 O(nlogm)O(n\log{m})

此时问题转化成 P1803 线段覆盖,整体时间复杂度 O(nlogm)O(n\log{m})

代码略(

本文最初发表于 Luogu,于 2026-04-19 同步至本站。

题面: https://www.luogu.com.cn/problem/P11232