常见积性函数线性筛

$\mu$函数
貌似根据定义做就可以。

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
void calmu(int n) {
np[1] = true; mu[1] = 1;
for(int i = 2; i <= n; i++) {
if(!np[i]) prime[++pos] = i , mu[i] = -1;
for(int j = 1; j <= pos && i * prime[j] <= n; j++) {
np[i * prime[j]] = 1;
if(i % prime[j]) {
mu[i * prime[j]] = -mu[i];
}
else {
mu[i * prime[j]] = 0;
break;
}
}
}
}

$\varphi$函数
考虑硬拆式子。
重温$\text{Euler Sieve}$的过程,就是找$n$的最小质因子$p_1$将其用$p_1 \times (n / p_1)$筛掉。
先设$n’ = n / p_1$,再分两种情况讨论:
$①:n’$有$p_1$这一因子。意味着唯一分解中$k_1 > 1$
那么显然,$n’$有着$n$的所有质因子。所以

$②:n’$没有$p_1$这一因子。意味着唯一分解中$k_1 = 1$

(其实也证明了欧拉函数是积性函数)
愉快的筛就好了。注意任何积性函数都有$f(1) = 1$.

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
void Euler_Sieve(int x) {
np[1] = 1; phi[1] = 1;
Go(i , 2 , x) {
if(!np[i]) prime[++cnt] = i , phi[i] = i - 1;
for(int j = 1; j <= cnt && i * prime[j] <= x; j++) {
np[i * prime[j]] = 1;
if(i % prime[j])
phi[i * prime[j]] = phi[i] * (prime[j] - 1);
else {
phi[i * prime[j]] = prime[j] * phi[i];
break;
}
}
}
}

[BJOI2019省内集训]完美塔防 题解

没学过2-SAT… 亏爆

[十二省联考2019]异或粽子 题解

貌似是个签到题?

[BJOI2019] 游记

记录第一次省选(雾

[BJWC2018]第k大斜率 题解

还依稀记得半年前的一次模拟赛,这个题我用暴力拿了50分。
旧题重做,现在来谈谈我的做法。

省选字符串算法总结

众做周知,$\text{LiM}$字符串没学好。
所以这里会用来整理一些知名字符串算法。

DP水题练习

readmore…

CF Round #446 改题

在机房vp了一番div1,就做了一个题, 于是这篇文章就用来改题了。
链接:Here

省选基础数论整理

众所周知,$\text{LiM}$数学不好。
这篇文章用于总结一堆数论算法。

[HNOI2011]XOR和路径 题解

运用高斯消元来$dp$.

Your browser is out-of-date!

Update your browser to view this website correctly. Update my browser now

×