C. Ones and Twos(onetwo)

    传统题 文件IO:onetwo 1000ms 256MiB

Ones and Twos(onetwo)

该比赛已结束,您无法在比赛模式下递交该题目。您可以点击“在题库中打开”以普通模式查看和递交本题。

读写要求

本题采用文件读写,请在提交代码时使用正确的文件读写方式,否则会导致 RE

输入:onetwo.in

输出:onetwo.out

题目描述

给定一个下标从 11 开始、长度为 nn 的数组 aa,其中每个元素都是 1122

处理 qq 次询问,询问有以下两种类型:

  • 1 s:判断是否存在一个 aa 的子数组 ^{\dagger},其元素和等于 ss
  • 2 i v:将 aia_i 修改为 vv

^{\dagger} 如果数组 bb 可以通过从数组 aa 的开头删除若干个元素(可以为 00 个或全部),再从末尾删除若干个元素(可以为 00 个或全部)得到,那么称 bbaa 的子数组。特别地,一个数组本身也是自己的子数组。

输入格式

每个测试点包含多组测试数据。第一行包含一个整数 tt1t1041 \le t \le 10^4),表示测试数据组数。接下来依次描述每组测试数据。

每组测试数据的第一行包含两个整数 nnqq1n,q1051\le n,q\le 10^5),分别表示数组 aa 的长度和询问次数。

每组测试数据的第二行包含 nn 个整数 a1,a2,,ana_1,a_2,\ldots,a_naia_i1122),表示数组 aa 的元素。

接下来每组测试数据有 qq 行,每行包含若干个整数。第一个整数 op\mathrm{op}1122

  • 如果 op\mathrm{op}11,则后面跟着一个整数 ss1s2n1 \leq s \leq 2n)。
  • 如果 op\mathrm{op}22,则后面跟着两个整数 iivv1in1 \leq i \leq nvv1122)。

保证所有测试数据中 nn 的总和不超过 10510^5qq 的总和也不超过 10510^5

输出格式

对于每个 op=1\mathrm{op}=1 的询问,如果存在一个 aa 的子数组,其元素和等于 ss,则输出一行 YES,否则输出 NO

你可以以任意大小写形式输出答案。例如,字符串 yEsyesYesYES 都会被认为是肯定回答。

输入输出样例

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

说明/提示

考虑第一个样例:

  • 第一次询问的答案是 YES,因为 a1+a2+a3=2+1+2=5a_1+a_2+a_3=2+1+2=5
  • 第二次询问的答案是 YES,因为 a1+a2+a3+a4=2+1+2+1=6a_1+a_2+a_3+a_4=2+1+2+1=6
  • 第三次询问的答案是 NO,因为无法找到任何一个 aa 的子数组,使其元素和为 77
  • 第四次询问后,数组 aa 变为 [2,1,2,2,2][2,1,2,2,2]
  • 第五次询问的答案是 YES,因为 a2+a3+a4+a5=1+2+2+2=7a_2+a_3+a_4+a_5=1+2+2+2=7

周赛#1028(div2)

未参加
状态
已结束
规则
IOI
题目
5
开始于
2026-5-30 19:00
结束于
2026-5-30 20:30
持续时间
1.5 小时
主持人
参赛人数
18