题解: CF1408D Searchlights

posted on 2024-04-09 13:06:47 | under | source

令最终方案中向上走 \(X\),向右走 \(Y\)

考虑海盗 \((a,b)\) 被灯 \((c,d)\) 照到,有两种移动方式:向上走 \(x=c-a+1\) 步或者向右 \(y=d-b+1\) 步。将其记为一个二元组 \((x,y)\),那么必须满足 \(X\ge x\)\(Y\ge y\) 其一。

那么将所有二元组统计下来,记为 \(p_1...p_q\),现在要求 \(\min(X+Y)\) 并且 \(X,Y\) 合法。

不难想到对二元组以 \(x\) 为关键字排序,答案 \(=\min\limits_{0\le i\le q}(p_x+\max\limits_{i<j\le q}q_y)\)

预处理出后缀最大值即可。复杂度 \(O(nm\log(nm))\)。如果直接计数的话可以做到 \(O(A)\)\(A\) 是下标值域。

posted @ 2026-01-15 08:13  Zwi  阅读(3)  评论(0)    收藏  举报