#E Sequence
由题意可知ai的和必为偶数,如果为奇数,则没有解。
由于前缀和具有奇偶性,所以需要具体分析,但是通过题目可知,此题奇偶性全部相同,所以只需要前缀和处理前缀和数组的奇偶性,统计[l-1,r]区间上和S(l-1)奇偶性相同的S(x)的个数就行了。
以下小编附上代码:

#include <bits/stdc++.h>
#define fp(i, a, b) for (int i = a, i##_ = int(b); i <= i##_; ++i)
#define fd(i, a, b) for (int i = a, i##_ = int(b); i >= i##_; --i)

using namespace std;
using ll = long long;
const int N = 1e5 + 5;
int n, q, sum[N], cnt[N][2];
void Clear() {
    fp(i, 1, n) sum[i] = cnt[i][0] = cnt[i][1] = 0;
}
void Solve() {
    scanf("%d%d", &n, &q);
    ll x;
    fp(i, 1, n) {
        scanf("%lld", &x);
        sum[i] = sum[i - 1] ^ (x & 1);
        cnt[i][0] = cnt[i - 1][0] + (sum[i] == 0);
        cnt[i][1] = cnt[i - 1][1] + (sum[i] == 1);
    }
    int l, r, k;
    while (q--) {
        scanf("%d%d%d", &l, &r, &k);
        if (sum[r] != sum[l - 1]) puts("NO");
        else if (cnt[r][sum[r]] - cnt[l - 1][sum[r]] >= k)
            puts("YES");
        else
            puts("NO");
    }
}
int main() {
    int t = 1;
    scanf("%d", &t);
    while (t--) Solve();
    return 0;
}