首页 > 试题广场 >

算式子

[编程题]算式子
给定  个整数  。保证 
对于每个  ,求出 。为了避免过量输出,你只需要将所有的 m 个结果异或起来输出。

输入描述:
第一行两个整数  。
第二行  个整数,第  个表示  。


输出描述:
一行一个整数,表示所有结果异或起来的结果。
示例1

输入

2 2
1 2

输出

0

说明

当 x=1 \ 时,结果为 4\

当 x=2 \时,结果为  4\ 。

所以输出 0 \
示例2

输入

10 10
1 3 5 5 2 5 9 3 1 10

输出

60

备注:
 
头像 Clouder0
发表于 2020-07-14 21:54:21
E 算式子 数论题。 显然左半边右半边可以分开计算。 Update:修正了描述……之前写反了。 定义: 为值 的元素的数量。 为 时, 的值。 考虑 与 如何计算。 对于 ,枚举每个 ,可以用整除分块的思想发现: 设 ,那么: ,对于 ,产生的贡献都为 。 可以通过处理 数组来 展开全文
头像 lifehappy
发表于 2020-12-20 17:11:39
#include <bits/stdc++.h> using namespace std; typedef long long ll; const int N = 2e6 + 10; ll ans1[N], ans2[N], cnt[N], sum[N]; int n, m; 展开全文
头像 耕云种月
发表于 2022-01-09 21:43:50
原题解链接:https://ac.nowcoder.com/discuss/149990 令cnt[y]cnt[y] cnt[y]为aia_iai​中yyy的出现次数。 首先对于每个1≤x≤m1 \leq x \leq m1≤x≤m 考虑 ∑i=1n⌊aix⌋\sum_{i=1}^{n}\left\ 展开全文