链接: http://codeforces.com/problemset/problem/1601/A
题意
给定一个数组,要求你求出所有的k满足:
- 从数组中选出k个数,并求出他们与运算后的结果x,将这个k个数减去x
- 重复上述操作直到数组中所有的数都变成0
解法
使用位运算计算每一个二进制位上的和。通过计算可以发现,如果所有位的数量能够整除k,则一定可以找到对应的k满足题目中的条件。
(或可理解为k能整除所有位的数量的最大公约数)
代码
1 | // |
但问耕耘,莫问收获
链接: http://codeforces.com/problemset/problem/1601/A
给定一个数组,要求你求出所有的k满足:
1 | // |