【题解】[HDU 7062] A Simple Problem | 20210928 模拟赛 序列(sequence)【分块 线段树 二分】

题目链接

题目链接Vjudge

题意

给定 (K),维护序列,区间加,区间询问其所有长为 (K) 的子段中最大值最小是多少。(nleq 5 imes 10^{8},sum mleq 2 imes 10^5,Tleq 5)

题解

给序列补全到 (K) 的倍数并分为 (K) 块,整块的影响为区间加,我们考虑散块的影响。

我们需要对于两个相邻的块,让前一个块的后缀最大值与后一个块(对应的)前缀最大值较大者尽可能小,于是可以二分找到较大者从前一个块到后一个块的切换时间。由于每一块的线段树形态相同,可以同时在两棵树上线段树上二分。

没 有 代 码