#P1418. 攻击

攻击

题目描述

敌方军团有 nn 个军事基地等距离围成一个圆,编号为 1n1 \sim n ,第 ii 个和第 i+1i+1 个相连(1i<n1 \leq i < n)。每个军事基地有一个战斗力 aia_i ,当战斗力被削弱为 00 时即为消灭。敌方会在一些基地之间修建桥梁,联通两个军事基地变成新的一个,值得注意的是如果两个桥梁相交叉则它们互相连通,即两个桥梁连接的军事基地也互相连通。一些联通的军事基地的战斗力是他们的和。

我方有一些轰炸机,轰炸能力为 kik_i ,轰炸范围为 bib_i 的轰炸机可以轰炸 bib_i 个不同的未被消灭的军事基地。每次轰炸会使被轰炸的军事基地减少 kik_i 的战斗力。若轰炸中途某个军事基地已经被消灭则停止轰炸该军事基地。定义完美轰炸指轰炸机轰炸的 bib_i 个军事基地均没有中途停止轰炸。(恰好炸完不算中途停止)

指挥官会告诉你敌方修建了哪个桥梁,以及询问一台给定 kik_ibib_i 的轰炸机是否可以完美轰炸 cic_i 次。

每次询问独立,即轰炸并不造成实际影响。

输入格式

第一行两个正整数 n,q,sidn,q,sid。表示军事基地个数,询问次数和测试点类型。

接下来一行 nn 个正整数 aia_i,表示军事基地的战斗力。

接下来 qq 行,每行三或四个正整数 op,u,vop,u,vop,ki,bi,ciop,k_i,b_i,c_i

op=1op=1,则表示敌方连接了编号为 uu 和编号为 vv 的军事基地。

op=2op=2,则表示询问一台给定 kik_ibib_i 的轰炸机是否可以完美轰炸 cic_i 次。

输出格式

对每个 op=2op=2 的询问,输出一行表示答案。输出 YesYes 表示可以,输出 NoNo 表示不行。

6 6 0
2 3 2 3 1 2
2 1 4 3
1 1 3
2 1 3 4
1 2 5
2 2 1 7
2 7 1 2
Yes
Yes
No
No

样例解释1

每次询问时地方军事基地的战斗力分别为:

  • 2,3,2,3,1,22,3,2,3,1,2

  • 4,3,3,1,24,3,3,1,2 (连接第一个和第三个军事基地)

  • 8,2,38,2,3 (连接第二个和第五个军事基地,和第一座桥相交,于是原来的第一,二,三,五个军事基地合并成了一个新的战斗力为 88 的军事基地)

分别最多轰炸 3,4,6,13,4,6,1 次。

对于所有的数据,保证:1n,q5104,1ai51041 \leq n,q \leq 5*10^4, 1 \leq a_i \leq 5*10^4。

对于 op=1op=1,保证: 1u,vn1 \leq u,v \leq n

保证联通之后的军事基地的战斗力 105\leq 10^5

数据范围与约定

测试点编号 sid\mathit{sid} nn \le qq \le aia_i \le 特殊性质
1 11 100
2 22 1000 A
3 33 B
4 44 10001000 A
5 55 B
6-7 66 10410^4 A
8-9 77 B
10-12 88 10001000
13-15 99 10410^4
16 1010 10510^5 A
17 1111 B
18-20 1212

特殊性质 A:op=2op=2

特殊性质 B:敌方修建的桥梁互不相交。