【noip模拟】2022
source: sdfzoj
3.15 T3 挑战
方便起见把条件改为 \(2a_{i}=s_{i}\)
\(O(n\sqrt{n})\):分块,每块对 \(2a_{i}-s_{i}\) 维护哈希表。常数原因只能获得 60pts
\(O(n\log n\log10^{9})\):注意到若有 \(a_{i}-s_{i-1}>0\),那么 \(s_{i}>2s_{i-1}\),这样的位置只有 \(\log10^{9}\) 个。使用线段树维护区间 \(\max\{2a_{i}-s_{i}\}\),对上述位置分成的 \(\log\) 个区间线段树二分。实现上只需要 DFS 线段树并剪枝即可,跑得飞快