比赛场次 | 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 简单对比 |
用户 | 结果 | 时间 | 内存 | 得分 |
---|---|---|---|---|
|
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$。