比赛场次 666
比赛名称 2025.3.18
比赛状态 已结束比赛成绩
开始时间 2025-03-18 18:30:00
结束时间 2025-03-18 22:00:00
开放分组 全部用户
注释介绍 T4数据比较水请尽情发挥!
题目名称 公约数数列
输入输出 gcdxor.in/out
时间限制 2000 ms (2 s)
内存限制 256 MiB
测试点数 10 简单对比
用户 结果 时间 内存 得分
Gravatar健康铀 AAAAAAAAAA 1.958 s 7.78 MiB 100
GravatardarkMoon AAAAAAAAAA 3.466 s 8.16 MiB 100
GravatarLikableP AAATTTTTTT 21.143 s 5.02 MiB 30
Gravatardjyqjy AAATTTTTTT 21.162 s 3.62 MiB 30
GravatarKKZH AAATTTTTTT 21.186 s 5.51 MiB 30
Gravatar徐诗畅 AAATTTTTTT 21.272 s 4.58 MiB 30
Gravatar郑霁桓 AAATTTTTTT 21.362 s 3.80 MiB 30

公约数数列

★★★   输入文件:gcdxor.in   输出文件:gcdxor.out   简单对比
时间限制:2 s   内存限制:256 MiB

【问题描述】

设计一个数据结构. 给定一个正整数数列 $a_0, a_1, ...,a_{n - 1}$,你需要支持以下两种操作:

1. MODIFY id x: 将 $a_{id}$ 修改为 x.

2. QUERY x: 求最小的整数 $p (0 <= p < n)$,使得 $\gcd(a_0,a_1, ..., a_p) * xor(a_0, a_1, ..., a_p) = x$. 其中 $xor(a_0, a_1, ..., a_p)$ 代表 $a_0, a_1, ..., a_p$ 的异或和,$\gcd$表示最大公约数。

【输入格式】

输入数据的第一行包含一个正整数 $n$.

接下来一行包含 $n$ 个正整数 $a_0, a_1, ..., a_{n- 1}.$

之后一行包含一个正整数 $q$,表示询问的个数。

之后 $q$ 行,每行包含一个询问。格式如题目中所述。

【输出格式】

对于每个 QUERY 询问,在单独的一行中输出结果。如果不存在这样的 $p$,输出 no.

【样例输入】

10
1353600 5821200 10752000 1670400 3729600
6844320 12544000 117600 59400 640
10
MODIFY 7 20321280
QUERY 162343680
QUERY 1832232960000
MODIFY 0 92160
QUERY 1234567
QUERY 3989856000
QUERY 833018560
MODIFY 3 8600
MODIFY 5 5306112
QUERY 148900352

【样例输出】

6
0
no
2
8
8

【数据规模与约定】

对于 30% 的数据,$n\leq 10000,q\leq 1000$。

对于 100% 的数据,$n\leq 100000,q\leq 10000,a_i\leq 10^9(0\leq i<n)$,QUERY x 中的 $x\leq 10^{18}$,MODIFY id x 中的 $0\leq id< n,1\leq x\leq 10^9$。

大样例