9.29 重学 min25
f
i
,
j
f_{i,j}
fi,j 表示已经筛去前 j 个素数的倍数后
≤
i
\le i
≤i 的数的 k 次幂之和
f
i
,
j
=
∑
x
=
2
i
x
k
[
M
i
n
(
x
)
>
p
j
∣
x
∈
P
]
f_{i,j}=\sum_{x=2}^i x^k[Min(x)>p_j|x\in P]
fi,j=∑x=2ixk[Min(x)>pj∣x∈P]
转移:
f
i
,
j
=
f
i
,
j
−
1
−
p
j
k
(
f
i
p
j
,
j
−
1
−
∑
l
=
1
j
−
1
p
l
k
)
f_{i,j}=f_{i,j-1}-p_j^k(f_{\frac{i}{p_j},j-1}-\sum_{l=1}^{j-1}p_l^k)
fi,j=fi,j−1−pjk(fpji,j−1−∑l=1j−1plk)
令
s
i
=
∑
l
=
1
i
p
l
k
s_i=\sum_{l=1}^i p_l^k
si=∑l=1iplk
解释一下后面减掉的
即减去在只考虑 j-1 个质数的情况下被看做质数的东西
这些数需要满足:1.只考虑了 j-1个质数 2. 乘上
p
j
p_j
pj 要
≤
i
\le i
≤i
于是这些数可以表示为
f
i
p
j
,
j
−
1
f_{\frac{i}{p_j},j-1}
fpji,j−1
但是同时除去了质数的贡献,所以要剪掉
这样以来我们已经可以处理一些问题了,比如说
≤
n
\le n
≤n的质数个数(0次幂),质数和 (1次幂)
然后我们需要把合数的贡献加回去
g
i
,
j
g_{i,j}
gi,j表示 2 – i 所有
M
i
n
(
x
)
>
=
p
r
i
m
(
j
)
Min(x) >= prim(j)
Min(x)>=prim(j) 的和
g
(
i
,
j
)
=
∑
x
=
2
i
f
(
x
)
[
(
x
∈
P
)
o
r
(
M
i
n
(
x
)
>
=
p
j
)
]
g(i,j)=\sum_{x=2}^if(x)[(x\in P)or(Min(x)>=p_j)]
g(i,j)=∑x=2if(x)[(x∈P)or(Min(x)>=pj)]
递推分为两部分考虑,一是大于等于
p
j
p_j
pj 的质数,一是合数
质数的贡献我们已经知道,现在考虑如何加上合数的贡献,自己枚举合数的最小质因子与次数
∑
f
(
p
i
e
∗
x
)
=
f
(
p
i
e
)
∑
f
(
x
)
(
x
∗
p
i
e
<
=
n
,
M
i
n
(
x
)
>
p
i
)
\sum f(p_i^e*x)= f(p_i^e)\sum f (x)(x*p_i^e<=n,Min(x)>p_i)
∑f(pie∗x)=f(pie)∑f(x)(x∗pie<=n,Min(x)>pi)
于是有
g
n
,
i
=
f
n
,
c
n
t
−
s
i
−
1
+
∑
e
=
1
,
k
>
i
p
i
e
<
=
n
f
(
p
i
e
)
g
(
n
p
e
i
,
k
)
+
∑
e
=
2
p
i
e
<
=
n
f
(
p
i
e
)
g_{n, i}=f_{n,cnt}-s_{i-1}+\sum_{e=1,k>i}^{p_i^{e}<=n}f(p_i^e)g(\frac{n}{p_e^i}, k)+\sum_{e=2}^{p_i^e<=n}f(p_i^e)
gn,i=fn,cnt−si−1+∑e=1,k>ipie<=nf(pie)g(pein,k)+∑e=2pie<=nf(pie)
后面一坨是因为没有考虑一个质数的次方的贡献
最大真因数
a
n
s
=
∑
x
M
i
n
(
x
)
ans=\sum \frac{x}{Min(x)}
ans=∑Min(x)x
考虑
M
i
n
(
x
)
Min(x)
Min(x)的贡献,即为 min25 时的
f
n
p
x
,
x
−
1
−
∑
l
=
1
x
−
1
p
l
f_{\frac{n}{p_x},x-1}-\sum_{l=1}^{x-1}p_l
fpxn,x−1−∑l=1x−1pl
简单的函数
f
(
p
)
=
p
−
1
,
f
(
p
e
)
=
p
(
x
o
r
)
e
f(p)=p-1, f(p^e)=p(xor)e
f(p)=p−1,f(pe)=p(xor)e,特殊考虑 2 的影响就是板子了
Misaka Network 与求和
a
n
s
=
∑
d
=
1
n
f
(
d
)
k
∑
i
=
1
n
∑
j
=
1
n
[
(
i
,
j
)
=
d
]
=
∑
d
=
1
n
f
(
d
)
k
(
2
∗
∑
i
=
1
n
/
d
φ
(
i
)
−
1
)
=
∑
d
=
1
n
f
(
d
)
k
g
(
n
/
d
)
ans=\sum_{d=1}^n f(d)^k\sum_{i=1}^{n}\sum_{j=1}^n [(i,j)=d]=\sum_{d=1}^nf(d)^k(2*\sum_{i=1}^{n/d}\varphi(i)-1)=\sum_{d=1}^nf(d)^kg(n/d)
ans=∑d=1nf(d)k∑i=1n∑j=1n[(i,j)=d]=∑d=1nf(d)k(2∗∑i=1n/dφ(i)−1)=∑d=1nf(d)kg(n/d)
首先 g 可以整除分块,然后杜教筛处理 g
考虑如何用 Min25 筛出 f,一个 d 有
f
(
d
)
k
f(d) ^ k
f(d)k 的贡献,当且仅当有一个 >= 它的质数在它前面
所有的方案数就是 >= 它的质数个数
于是 Min25 先处理出质数个数,然后加上合数贡献时算一下
f
(
d
)
f(d)
f(d)
具体一点就是
S
(
n
,
i
)
=
∑
j
=
i
t
o
t
∑
e
=
1
p
j
e
+
1
<
=
n
S
(
n
/
p
j
e
,
j
+
1
)
+
p
j
k
∗
∑
i
=
p
j
n
/
p
j
e
[
i
∈
P
]
S(n, i)=\sum_{j=i}^{tot} \sum_{e=1}^{p_j^{e+1}<=n}S(n/p_j^e, j+1)+p_j^k*\sum_{i=p_j}^{n/p_j^e}[i\in P]
S(n,i)=∑j=itot∑e=1pje+1<=nS(n/pje,j+1)+pjk∗∑i=pjn/pje[i∈P]
a
n
s
=
S
(
n
,
1
)
ans=S(n,1)
ans=S(n,1)