| 比赛场次 | 666 |
|---|---|
| 比赛名称 | 2025.3.18 |
| 比赛状态 | 已结束比赛成绩 |
| 开始时间 | 2025-03-18 18:30:00 |
| 结束时间 | 2025-03-18 22:00:00 |
| 开放分组 | 全部用户 |
| 组织者 | HXF |
| 注释介绍 | T4数据比较水请尽情发挥! |
| 题目名称 | 公约数数列 |
|---|---|
| 输入输出 | gcdxor.in/out |
| 时间限制 | 2000 ms (2 s) |
| 内存限制 | 256 MiB |
| 测试点数 | 10 简单对比 |
| 用户 | 结果 | 时间 | 内存 | 得分 |
|---|---|---|---|---|
|
|
AAAAAAAAAA | 1.958 s | 7.78 MiB | 100 |
|
|
AAAAAAAAAA | 3.466 s | 8.16 MiB | 100 |
|
|
AAATTTTTTT | 21.143 s | 5.02 MiB | 30 |
|
|
AAATTTTTTT | 21.162 s | 3.62 MiB | 30 |
|
|
AAATTTTTTT | 21.186 s | 5.51 MiB | 30 |
|
|
AAATTTTTTT | 21.272 s | 4.58 MiB | 30 |
|
|
AAATTTTTTT | 21.362 s | 3.80 MiB | 30 |
设计一个数据结构. 给定一个正整数数列 $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$。