這次是真的學習筆記了……
真正意義上搞明白廣義容斥實在說啥……
真正搞明白了單位根的那個性質……
題目大意:有個大小為n的集合s,求所有選出若干非空且互不相等的子集使得交集大小是k的倍數。要求乙個o(nk)的做法。
先來說說二項式反演這件事情:
p (x
)=∑k
=0xq
(k)(
xk)q
(x)=
∑k=0
xp(k
)(xk
)(−1
)x−k
p(x)=\sum_^x q(k)\binom xk\\q(x)=\sum_^x p(k)\binom xk (-1)^
p(x)=∑
k=0x
q(k
)(kx
)q(
x)=∑
k=0x
p(k
)(kx
)(−
1)x−
k這個顯然是對的,因為你至少可以把互相帶入……
知道了這件事情我們就可以去做一些廣義容斥,例如,我們假定我們已經知道了p(k)表示大小至少k的答案,然後記q(k)表示大小恰好k的答案,我們想通過p直接算出q,也就是:
q (k
)=∑i
=0np
(i)f
(i
)q(k)=\sum_^np(i)f(i)
q(k)=∑
i=0n
p(i
)f(i
)也就是給p加乙個係數f。
而左半部分就是下式,考慮乙個大小是i的集合會被p(x)f(x)計算c(x, i)f(x)次:
∑ i=
0nq(
i)∑j
=0i(
ij)f
(j
)\sum_^nq(i)\sum_^i\binom ij f(j)
∑i=0n
q(i)
∑j=0
i(j
i)f
(j)而我們最後希望這個東西是:∑i=
0nq(
i)[i
==k]
\sum_^nq(i)[i==k]
∑i=0n
q(i)
[i==
k]也就是∑i=
0x(x
i)f(
i)=[
x==k
]\sum_^x\binom xif(i)=[x==k]
∑i=0x
(ix
)f(i
)=[x
==k]
我們把右邊看做二項式反演的q,那麼有:
f (x
)=∑i
=0x[
i==k
](−1
)x−i
(xi)
f(x)=\sum_^x[i==k](-1)^\binom xi
f(x)=∑
i=0x
[i=
=k](
−1)x
−i(i
x)也就是當x< k時f(x
)=
0f(x)=0
f(x)=0
否則f (x
)=(−
1)x−
k(xk
)f(x)=(-1)^\binom
f(x)=(
−1)x
−k(k
x)這樣就是常說的一種特殊形式的容斥。
這個題裡面,顯然取p(x
)=(n
x)(2
2n−k
−1
)p(x)=\binom nx\left(2^}-1\right)
p(x)=(
xn)
(22n
−k−1
)然後這裡的[i=
=k
][i==k]
[i==k]
要變成[k∣
i]
[k|i]
[k∣i
],也就是只對k的倍數那裡統計。
然後就是單位根的性質:
[ k∣
n]=1
k∑i=
0k−1
(wkn
)i
[k|n]=\frac 1k \sum_^(w_k^n)^i
[k∣n]=
k1∑
i=0k
−1(
wkn
)i單位根的乙個應用是直接把wki
w_k^i
wki
這玩意帶入到多項式裡面,這樣求和之後就只剩下k的倍數的項的係數的和的k倍了。
另乙個就是直接展開,像這個題直接像上乙個例子那樣那[i==k]那裡替換成[k|i]然後替換成上面單位根的式子然後推導一番即可。注意到交換求和順序後(也就是先對不同的單位根求和再加起來)後面那一坨可以用二項式定理縮起來。
**裡面是假定k=4的題。
#include
#include
#include
#include
#define n 10000010
#define lint long long
#define p 998244353
using namespace std;
inline
intmol
(lint x)
int w[6]
,v[6
],f[n]
,fi[n]
,a[n]
;inline
intfast_pow
(int x,
int k,
int ans=1)
intmain()
學習筆記 單位根反演
n k frac sum omega 證明 首先根據單位根的性質 omega 1 所以當 n k 時每一項都等於 1 有 frac sum omega 1 當 n k 不成立時,omega k neq 1 等比數列求和得 frac sum omega frac times frac k 又因為 om...
單位根反演學習筆記
存在式子 n cdot n k sum omega n 我們考慮來證明一下,若 n k 1 那麼顯然 omega n 1 若 n k ne 1 那麼後者就是乙個等比數列,我們運用求和公式 frac 1 0 我們可以利用這個式子提取出乙個多項式的整數倍係數。sum rfloor x f x sum n...
單位根反演
定理 n mid a dfrac1n sum omega n 證明 使用等比數列求和 a 0 mod n 公比不為 1 原式 dfrac1n times dfrac 1 dfrac1n times dfrac 0 a 0 mod n 公比為 1 原式 dfrac1n times n times om...