一二数组
该比赛已结束,您无法在比赛模式下递交该题目。您可以点击“在题库中打开”以普通模式查看和递交本题。
题目描述
33DAI 拿到了一个只由 与 组成的数组 。
接下来有 次操作,每次操作是下面两种之一:
1 s:询问是否存在一个连续子数组(即 ,其中 ),它的元素之和恰好等于 ;2 i v:把 的值改成 。
对于每个 1 s 询问,请告诉 33DAI 答案是 YES 还是 NO。
输入格式
从文件 ones.in 读入数据。
第一行一个整数 ,表示测试用例组数。
接下来依次给出 组数据,每组数据的格式为:
- 第一行两个整数 ,表示数组长度与操作次数;
- 第二行 个整数 ,表示这个数组,每个数都是 或 ;
- 接下来 行,每行是一次操作,格式为
1 s或2 i v。
输出格式
输出到文件 ones.out。
对于每个 1 s 询问输出一行:如果存在元素之和恰好等于 的连续子数组,输出 YES;否则输出 NO。
2 i v 操作不产生任何输出。
评测时逐字符比较,大小写必须与样例一致(YES 与 NO 都是全大写)。一个测试用例里的多次询问按输入顺序依次输出,不同测试用例的输出也按顺序首尾相接。
2
5 5
2 1 2 1 2
1 5
1 6
1 7
2 4 2
1 7
3 2
2 2 2
1 6
1 5
YES
YES
NO
YES
YES
NO
样例 1 解释
第 1 组数据里 ,共有 个询问:
- 询问 :取子数组 ,元素之和为 ,所以输出
YES; - 询问 :取子数组 ,元素之和为 ,所以输出
YES; - 询问 :逐个检查所有连续子数组,没有哪一个的元素之和等于 ,所以输出
NO; - 接着是修改操作, 被改成 ,数组变成 ;
- 询问 :取子数组 ,元素之和为 ,所以输出
YES。
第 2 组数据里 ,共有 个询问: 时取整个数组,元素之和为 ,输出 YES; 时不存在元素之和为 的连续子数组(数组里所有元素都是 ),输出 NO。
样例 2
样例 3
数据范围
对于所有测试数据,保证:
- ;
- ;
- ,修改操作里的 ;
- 询问里的 ,修改操作里的 ;
- 所有测试用例的 之和与 之和都不超过 。
子任务
本题共 20 个测试点,按测试点计分:
| 测试点 | 分值 | 每个测试点 | 特殊限制 |
|---|---|---|---|
| 没有修改操作 | |||
| 无额外限制 |
每个测试点单独评分,全部测试点的得分之和即为本题得分。