我看了样例解释才知道每次查询操作后会把区间推平。
强烈建议推广形式化题面!
补充一个能让人看得懂的翻译:
- 维护一个长度为 n(1≤n≤105) 的数组 s,初值给定且 0≤si≤105。
- 每过 1 单位时间,都会对于所有 [1,n] 之间的整数 i,执行 si←min{mi,si+ri}。其中 mi 和 ri 给定且 0≤mi,ri≤105。
- 维护 m(1≤m≤105) 次操作,每次操作时会将时间设为 t(0≤t≤109),并且查询 s 数组 [l,r] 区间和。每次操作结束后会将 s 数组的 [l,r] 区间推平为 0,保证 ti 递增。
- 初始没有进行操作时时间为 0。
- 维护一个长度为 $n(1\le n \le 10^5)$ 的数组 $s$,初值给定且 $0 \le s_i \le 10^5$。
- 每过 $1$ 单位时间,都会对于所有 $[1,n]$ 之间的整数 $i$,执行 $s_i \gets \min\{m_i,s_i+r_i\}$。其中 $m_i$ 和 $r_i$ 给定且 $0 \le m_i, r_i \le 10^5$。
- 维护 $m(1\le m \le 10^5)$ 次操作,每次操作时会将时间设为 $t(0 \le t \le 10^9)$,并且查询 $s$ 数组 $[l,r]$ 区间和。每次操作结束后会将 $s$ 数组的 $[l,r]$ 区间推平为 $0$,保证 $t_i$ 递增。
- 初始没有进行操作时时间为 $0$。