#CF4104. 奇数查询

奇数查询

题目描述

你有一个数组 a1,a2,,ana_1,a_2,…,a_n。回答 qq 次查询:

如果我们将数组的 al,al+1,,ara_l,a_{l+1},…,a_r 范围内的所有元素都改为 kk,那么整个数组的和会是奇数吗?

请注意,查询是独立的,前面的查询的 “修改” 不会影响后面的查询。

输入格式

每个测试包含多个测试用例。第一行包含测试用例的数量 t(1t104)t(1≤t≤10^4)。测试用例的描述如下。

每个测试用例的第一行由 22 个整数 nnq(1n2×105;1q2×105)q(1≤n≤2×10^5;1≤q≤2×10^5),代表数组长度和查询次数。

每个测试用例的第二行由 nn 个整数 ai(1ai109)a_i(1≤a_i≤10^9) 组成——数组 aa

每个测试用例的接下来 qq 行由 33 个整数 l,r,kl,r,k 组成 (1lrn;1k109)(1≤l≤r≤n;1≤k≤10^9) 查询。

保证所有测试用例的 nn 之和不超过 2×1052×10^5qq 之和不超出 2×1052×10^5

输出格式

对于每个查询,如果整个数组的和是为奇数,则输出YES,否则输出 NO

答案不计大小写。

测试样例

2
5 5
2 2 1 3 2
2 3 3
2 3 4
1 5 5
1 4 9
2 4 3
10 5
1 1 1 1 1 1 1 1 1 1
3 8 13
2 5 10
3 8 10
1 10 2
1 9 100
YES
YES
YES
NO
YES
NO
NO
NO
NO
YES

样例说明

对于第一个测试用例:

如果将 (2,3)(2,3) 范围内设置为 33,数组将变为 {2,3,3,3,2}\{2,3,3,3,2\},和将为 2+3+3+3+2=132+3+3+3+2=13,这是奇数,所以答案是 YES

如果将 (2,3)(2,3) 范围内设置为 44,数组将变为 {2,4,4,3,2}\{2,4,4,3,2\},和将为 2+4+4+3+2=152+4+4+3+2=15,这是奇数,所以答案是 YES

如果将 (1,5)(1,5) 范围内设置为 55,数组将变为 {5,5,5,5,5}\{5,5,5,5,5\},和将为 5+5+5+5+5=255+5+5+5+5=25,这是奇数,所以答案是 YES

如果将 (1,4)(1,4) 范围内设置为 99,数组将变为 {9,9,9,9,2}\{9,9,9,9,2\},和将为 9+9+9+9+2=389+9+9+9+2=38,这是偶数,所以答案是 NO

如果将 (2,4)(2,4) 范围内设置为 33,数组将变为 {2,3,3,3,2}\{2,3,3,3,2\},和将为 2+3+3+3+2=132+3+3+3+2=13,这是奇数,所以答案是 YES