luogu#P7922. [Kubic] Pyramid

[Kubic] Pyramid

题目背景

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

题目描述

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

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

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

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

再给定一个长度为 mm 的序列 aa,表示一共进行 mm 组操作,第 ii 组中先进行 aia_i 次 A 操作,再进行 aia_i 次 B 操作。保证 2ai=n12\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 特殊性质
Subtask1\operatorname{Subtask}1 55 11 100\le 100
Subtask2\operatorname{Subtask}2 1010 无特殊限制 无特殊限制 无特殊限制 AB
Subtask3\operatorname{Subtask}3 1515 55 B
Subtask4\operatorname{Subtask}4 11 =1=1 C
Subtask5\operatorname{Subtask}5
Subtask6\operatorname{Subtask}6 2020 44 50\le 50
Subtask7\operatorname{Subtask}7 55 无特殊限制

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

特殊性质 B:l=rl=r

特殊性质 C:l=1,r=nxl=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} 对本题的贡献!