简易数论练习
A:略
B: 数论筛 + 最大独立集(二分图)
C:注意用 prime 数组来筛取因子 prime[i]*(LL)prime[i]<=tmp
D:考虑 sigma(n) = \prod(1+p+p^2+....) 等于奇数的情况
对于质因子2,出现任意次皆可,对于其他因子,必然出现偶数次。
这样不考虑质因子2,除去2后的 number 开根后必然与一个1~10^6 的数字相对应,这样枚举p2^t2....pm^tm进行搜索
然后算 2^t * now <= n 解的个数即可。
E:对于后x位,取余快速幂,对于前x位取log10后得到的小数部分,即为所求。
F:略
G:分块
H:考虑[a,b] = n 相当于对于 n中的每一个质因数的指数a,b取max得到的都是n的相应指数。
问题转化为假定集合A:为当前质因数集合 a取到max ans = \sum prod_{x ∈ A}{ ti } prod_{x ∉ A}{ti + 1}
这样考虑线性递推即可得到ans = \prod ti (ti+1)
I:调和级数近似式:1+1/2+1/3+1/4+...1/n = ln(n+1) + r (r =0.5772156649) n>10^5 误差小于1e-5
J:注意负数,要在gcd上除去所有的2因子
K:直接求 a mod b
L:和式拆分即可。
M:略
N:相当于求 n! 中一个因子的个数 [n/p^i] 求和即可
O:莫比乌斯反演+分块