02 2022 档案
摘要:线性筛素数 洛谷题目 \(Link\) 解析 这里运用欧拉筛。 欧拉筛是埃氏筛法的改进版。 例如,在埃氏筛法里,对于 \(12\) 有 &2 * 6& 和 \(3 * 4\) 两种情况筛到,如果以一种方法能够让一个数只能被筛过一次,就能够进一步提高算法效率。 Code #include <bits/
阅读全文
摘要:题目 \(Link\) 解析 按照题目说法,即输出 \(a | b - a & b\) 即可。 但是按照这则运算,可以发现$a | b - a & b = a ^ b$ 这个可以举例说明,再次就不赘述了。 Code #include <bits/stdc++.h> #define ll long l
阅读全文
摘要:3216 授勋 51nod 题目$Link$ 题目解析 因为任意一个正整数都可以用 \(2\) 的幂次方表示,所以这道题有解。 所以把这个数转化为二进制时,每一位的 "\(1\)" 对应的的就是一个二的 \(n\) 次幂。 例: \(6\)(10) → \(110\)(2) \(6 = 2^1 +
阅读全文
摘要:一个奇数次 51nod 题目 \(Link\) 解析 这里采用的是位运算异或。 让 ans 每次都异或输出的数,因为 a ^ a = 0 的, 所以每次异或时出现偶数次的数就可以消掉(异或符合交换律)。 因为题目中指定只有一个数会出现奇数次,所以易证这个做法的正确性。 Code #include <
阅读全文