CF1807D Odd Queries
题目描述
你有一个数组 $a_1, a_2, \dots, a_n$。你需要回答 $q$ 个如下形式的询问:
- 如果我们将数组中区间 $a_l, a_{l+1}, \dots, a_r$ 的所有元素都改为 $k$,那么整个数组的和会是奇数吗?
注意,所有的询问都是独立的,不会影响后续的询问。
输入格式
每组测试数据包含多个测试用例。第一行包含测试用例的数量 $t$($1 \le t \le 10^4$)。接下来是每个测试用例的描述。
每个测试用例的第一行包含两个整数 $n$ 和 $q$($1 \le n \le 2 \cdot 10^5$;$1 \le q \le 2 \cdot 10^5$),分别表示数组的长度和询问的数量。
第二行包含 $n$ 个整数 $a_i$($1 \le a_i \le 10^9$),表示数组 $a$。
接下来的 $q$ 行,每行包含三个整数 $l, r, k$($1 \le l \le r \le n$;$1 \le k \le 10^9$),表示一次询问。
保证所有测试用例中 $n$ 的总和不超过 $2 \cdot 10^5$,$q$ 的总和也不超过 $2 \cdot 10^5$。
输出格式
对于每个询问,如果整个数组的和变为奇数,输出 "YES";否则输出 "NO"。
你可以以任意大小写输出答案(如 "yEs"、"yes"、"Yes"、"YES" 都会被认为是肯定回答)。
说明/提示
对于第一个测试用例:
- 如果将区间 $(2, 3)$ 的元素都改为 $3$,数组变为 $\{2, 3, 3, 3, 2\}$,和为 $2+3+3+3+2=13$,是奇数,因此答案为 "YES"。
- 如果将区间 $(2, 3)$ 的元素都改为 $4$,数组变为 $\{2, 4, 4, 3, 2\}$,和为 $2+4+4+3+2=15$,是奇数,因此答案为 "YES"。
- 如果将区间 $(1, 5)$ 的元素都改为 $5$,数组变为 $\{5, 5, 5, 5, 5\}$,和为 $5+5+5+5+5=25$,是奇数,因此答案为 "YES"。
- 如果将区间 $(1, 4)$ 的元素都改为 $9$,数组变为 $\{9, 9, 9, 9, 2\}$,和为 $9+9+9+9+2=38$,是偶数,因此答案为 "NO"。
- 如果将区间 $(2, 4)$ 的元素都改为 $3$,数组变为 $\{2, 3, 3, 3, 2\}$,和为 $2+3+3+3+2=13$,是奇数,因此答案为 "YES"。
由 ChatGPT 4.1 翻译