P12624 [ICPC 2025 NAC] Humans vs AI
给定两个序列 \(a,b\),满足 \(\forall i,a_i \times b_i=0\) ,以及常数 \(k\),对满足以下条件的非空连续段计数:
\[\max b_i + \sum a_i \le k((\sum b_i) - \max b_i)
\]
\(n \le 2\times10^5\)
推柿子,变成
\[(1+k)\max b_i + \le k\sum b_i - \sum a_i
\]
对 \(\max b_i\) 分治,令 \(\Delta=(1+k)\max b_i\)。
同时令 \(c_i=kb_i-a_i\)。
原式变为
\[\Delta \le \sum c_i
\]
考虑进行启发式分治,枚举小的一边,不妨考虑枚举左端点 \(l\) 时的情况。
\[s_r \ge \Delta + s_{l-1}
\]
发现这是简单二维数点。做完!
本文来自博客园,作者:CuteNess,转载请注明原文链接:https://www.cnblogs.com/CuteNess/p/19068849

浙公网安备 33010602011771号