#P7922. [Kubic] Pyramid

[Kubic] Pyramid

背景

容易发现,F 题出题人不是 lxl。

题目描述

给定一个初始长度为 nn 的序列 pp。

设当前 pp 的长度为 LL,有以下两种操作:

  • A 操作先构造长度为 L−1L-1 的序列 p′p' 满足 pi′=min⁡{pi,pi+1},i∈[1,L)p_i'=\min\{p_i,p_{i+1}\},i\in [1,L)。然后用 p′p' 代替 pp。

  • B 操作先构造长度为 L−1L-1 的序列 p′p' 满足 pi′=max⁡{pi,pi+1},i∈[1,L)p_i'=\max\{p_i,p_{i+1}\},i\in [1,L)。然后用 p′p' 代替 pp。

再给定一个长度为 mm 的序列 aa,表示一共进行 mm 组操作,第 ii 组中先进行 aia_i 次 A 操作,再进行 aia_i 次 B 操作。保证 2∑ai=n−12\sum a_i=n-1。

最后给定 qq 次询问,每次给出参数 x,l,rx,l,r,你需要求出进行前 xx 个操作之后 ∑i=lrpi\sum\limits_{i=l}^r p_i 的值。

注意:询问中的 xx 指的是前 xx 个操作而不是前 xx 组操作,即有可能在某一组操作进行一部分时询问。

输入格式

第一行,三个整数 n,m,qn,m,q。

第二行,nn 个整数,第 ii 个整数表示 pip_i。

第三行,mm 个整数,第 ii 个整数表示 aia_i。

接下来 qq 行,每行三个整数 x,l,rx,l,r,表示一次询问。

输出格式

共 qq 行,每行一个整数,第 ii 行的整数表示第 ii 次询问的答案。

5 2 3
6 2 4 1 3
1 1
1 1 4
2 2 3
4 1 1
6
3
2

提示

对于 100%100\% 的数据,$1\le n,m,q\le 1.5\times 10^5,1\le x<n,1\le l\le r\le n-x,1\le p_i\le 10^9,2\sum a_i=n-1$。

分值 时限 (s⁡)(\operatorname{s}) nn mm qq 特殊性质
Subtask⁡1\operatorname{Subtask}1 55 11 ≤100\le 100 无
Subtask⁡2\operatorname{Subtask}2 1010 无特殊限制 无特殊限制 无特殊限制 AB
Subtask⁡3\operatorname{Subtask}3 1515 55 B
Subtask⁡4\operatorname{Subtask}4 11 =1=1 C
Subtask⁡5\operatorname{Subtask}5 无
Subtask⁡6\operatorname{Subtask}6 2020 44 ≤50\le 50
Subtask⁡7\operatorname{Subtask}7 55 无特殊限制

特殊性质 A:∀i,ai=1\forall i,a_i=1

特殊性质 B:l=rl=r。

特殊性质 C:l=1,r=n−xl=1,r=n-x。

样例解释

给定的操作过程如下:

6 2 4 1 3

2 2 1 1

2 2 1

2 1

2

特殊性质单独拉出来写只是为了表格好看一点...

感谢 Alfalfa_w⁡\operatorname{A\color{red}lfalfa\_w} 对本题的贡献!