#P14035. [PAIO 2025] GCD
[PAIO 2025] GCD
Description
给定一个长度为 的整数序列 。另给定两个整数 和 。
设 表示整数 的最大公约数。例如,,。
定义函数 $f_{l,r}(x) = \text{gcd}(A[1], A[2], \dots, A[l], A[r], \dots, A[N])^K \oplus x$,其中 表示按位异或运算。你的任务是计算如下和:
$$\left(\sum_{x=0}^{V} \sum_{l=1}^{N} \sum_{r=l+1}^{N} f_{l,r}(x) \cdot (A[l] + A[r])\right) \bmod 998\,244\,353$$实现细节
你需要完成名为 calculate_sum 的函数:
int32 calculate_sum(int32 N, int32 K, int32 V, int32[] A);
- :序列中整数数量;
- :指数;
- : 的最大值;
- :整数序列;
- 在程序开始时,每个测试用例调用本函数的次数最多不超过100次。
这个函数应返回下式的值:
$$\left(\sum_{x=0}^{V} \sum_{l=1}^{N} \sum_{r=l+1}^{N} f_{l,r}(x) \cdot (A[l] + A[r])\right) \bmod 998\,244\,353$$Input Format
无输入。
Output Format
无输出。
Hint
示例
示例 1
考虑如下调用:
calculate_sum(3, 2, 3, [3, 6, 2]);
应返回 132。
示例 2
考虑如下调用:
calculate_sum(7, 1, 0, [1, 2, 3, 4, 5, 6, 7]);
应返回 168。
示例评测器
评测器按照以下格式读取输入:
- 第 1 行:三个整数
- 第 2 行: 个整数
评测器会调用 calculate_sum(N, K, V, A) 并输出返回的值。
约束条件
- 对于每个 ,
评分
- 子任务 1(4 分):
- 子任务 2(8 分):
- 子任务 3(15 分):
- 子任务 4(11 分):
- 子任务 5(17 分):
- 子任务 6(21 分):
- 子任务 7(11 分):
- 子任务 8(13 分):无额外限制。
由 ChatGPT 5 翻译
京公网安备 11011102002149号