loj#P2801. 「CCC 2017」地铁交通

「CCC 2017」地铁交通

题目描述

译自 CCC2017 Senior T5. RMT

RMT 地铁交通运行着一个不寻常的地铁系统。有 NN 个地铁站,从 11NN 编号。有 MM 条地铁线路,从 11MM 编号,每个地铁站只属于一条线路且每条线路至少经过一个地铁站。整个地铁网络呈圆形。也就是说,如果有一个编号为 SS 的地铁站,那么与它同一线路的下一个地铁站是下一个编号比它大的地铁站。除非 SS 是同线路中编号最大的地铁站,在这种情况下,它的下一个地铁站是同一线路中编号最小的地铁站。

RMT 正在以志愿者对他们的系统进行负载测试。测试从每一站以一列地铁列车开始,且对于每一个 ii,会有 AiA_i 个志愿者在第 ii 站的测试列车上。在整个测试期间,志愿者不会离开对应的列车。

测试过程中,RMT 会进行 QQ 个操作,每个操作只有两种可能:一种是询问第 ll 站到第 rr 站地铁上的志愿者人数;或是在线路 xx 运行所有的地铁。当有一列地铁在 xx 线路运行,它会前往线路中的下一站。

你是 RMT 的铁杆骨灰级粉丝,所以你自愿协助他们进行操作并告诉他们操作的结果。

输入格式

第一行,三个整数,N,MN,MQ(1MN150 000;1Q150 000)Q(1 \le M \le N \le 150\ 000;1 \le Q \le 150\ 000)

第二行,NN 个整数 L1,L2,,LNL_1,L_2,\dots,L_N,表示每个地铁站所属线路的编号。

第三行,NN 个整数 A1,A2,,ANA_1,A_2,\dots,A_N,表示每个地铁站起始时刻的志愿者人数。

以下 QQ 行,每行只有以下其中一种形态:

  • 1 l r,表示一个询问 (1lrN)(1 \le l \le r \le N)

  • 2 x,表示 RMT 会在 xx 线路运行 (1xM)(1 \le x \le M)

输出格式

对于每个询问,输出一行,表示询问的答案。

5 2 5
1 2 1 2 2
1 2 3 4 5
1 1 5
2 1
1 3 5
2 2
1 1 3
15
10
9
3 1 7
1 1 1
114 101 109
1 1 1
2 1
1 1 1
2 1
1 1 1
2 1
1 1 1
114
109
101
114

数据范围与提示

对于 215\frac2{15} 的数据,N1 000,Q1 000N \le 1\ 000,Q \le 1\ 000

对于另外 215\frac2{15} 的数据,LiLi+1(1i<N)L_i \le L{i+1}(1 \le i < N)

对于另外 315\frac3{15} 的数据,M200M \le 200

对于另外 315\frac3{15} 的数据,每条线路的地铁数量都不超过 200200