2019牛客暑期多校训练营(第九场)I KM and M
传送门
思路:因为最后按位与的是一个常数,所以只需要看这个常数对应为1的位置,在M、2M、3M...NM这N个数字中,有多少个仍然是1。用个数乘以对应位的2的幂次即可。那么现在问题变成了如何求这个个数。我们考虑对于一个数字iM,如果求它二进制下第j位是否是0。显然,我们可以先把iM右移j位得到x,然后再把iM右移j+1位得到y,再把y左移1位得到z,z-x的值即为iM第j位的数值。而这个过程,就...
原创
2019-08-22 17:37:05 ·
433 阅读 ·
0 评论