7.29 day6数学
战绩
100+100+100+25=325
(数学不行实锤了,好多人AK
T1
线性筛里,每个数都会被他最小的质因数筛到,令
\(f(x)=[x\%p==0] \quad p \in dangerous\)
这显然是个完全积性函数,线性筛即可
时间复杂度:\(O(n)\)
T2
考虑这棵树实质上是一个以1为根,边权为大于父亲边权的质数,节点值则为到根路径上边权累乘
那么我们要求x,y之间路径实质上是\(dep[x]+dep[y]-dep[lca]*2+1\)
lca则是x,y相同最多的最小质因数
比如 111 555
111 = 3 * 37
555 = 3 * 5 * 37
LCA(111,555)=3
每个数最小质因数显然也可以线性筛直接求
时间复杂度:\(O(n\log n)\)
T3
考虑直接枚举\(\frac{y+x}{y-x}\)的值
设\(c1=y+x\quad c2=y-x\)
\[y=\frac{c1+c2}{2}\quad x=\frac{c1-c2}{2}
\]
值最大到2n-1
这样我们去枚举分子分母是\(O(V_{ans})\)的,但是\(max_{ans}=2e8+\)
考虑刚刚柿子在\(\frac{y+x}{y-x}\)是奇数还是偶数时的贡献
发现奇数时每个枚举的分数都可以,而偶数只有一半能计入贡献
所以我们就很简单了
for(int i=2;i<=2*n-1;i++){
if(i&1)ans+=2*n/(i+1);
else ans+=((2*n)/(i+1))/2;
}
时间复杂度:O(n)
T4
很简单,赛时想复杂了
考虑i个数要想lcm是x,那么他们一定都是x的约数
这是必要不充分的,因为有可能没有覆盖到x的所有质因子,所以lcm是x的一个因数,所以我们考虑容斥
用全部的可能数量即\(d_x^k\)减去因数的答案
\[f_i=d_i^k-\sum_{j|i}f_j
\]
时间复杂度\(O(n\log n)\)
扩展题:
\(n\le 5000\quad m\le 1e9\)
求:
\[f_i=\sum_{j=0}^{m}j^i
\]
简述思路,待补:二项式定理找出递推式