[x^{overline{n}} = sum_{k}egin{bmatrix}n\ kend{bmatrix}x^k
\
x^n = sum_{k}egin{Bmatrix}n\kend{Bmatrix}(-1)^{n-k}x^{overline k}
]
[x^n = sum_{k}egin{Bmatrix}n\kend{Bmatrix}x^{underline k}
\
x^{underline n} = sum_{k}egin{bmatrix}n\kend{bmatrix}(-1)^{n-k}x^k
]
可以编口诀背
对于一个集合 N, 定义函数 f:2N -> R, 以及函数 f 的 zeta变换 fζ:(fzeta(S) = sumlimits_{Tsubseteq S}f(T)), 有:
[f(S) = sum_{Tsubseteq S}(-1)^{|S|-|T|}fzeta(T)
]
本质上是高维前缀和还原单点。对于下标为偏序集的函数 f, 其 zeta 变换后 f(n) 的结果就是所有下标 i ≤ n 的 f(i) 之和。
编一下, f 的反 zeta 变换记作 ζf, (zeta f(S)=sumlimits_{Ssubseteq T}f(T)),同样有
[f(S) = sum_{Ssubseteq T}(-1)^{|T|-|S|}zeta f(T)
]
同样本质上是高维前缀和的那一套, 容斥系数与 “区别维度数” 有关, 且每维的区别至多是 1。
这玩意大概叫子集反演。
似乎有更高级的应用, 即集合中的元素是命题, 命题成不成立都对应一类对象, 这个高级应用可以推出高维前缀和的式子。
要学算自然数幂和, 墙裂推荐
问题是求:(S_t(n) = sumlimits_{k=0}^n k^t)。
扰动法
[egin{align}
S_{t+1}(n+1) &= S_{t+1}(n+1)
\
S_{t+1}(n)+(n+1)^{t+1} &= 0^{t+1} + sum_{k=0}^n(k+1)^{t+1}
\
&=sum_{k=0}^nsum_{i=0}^{t+1}inom{t+1}i k^i = sum_{i=0}^{t+1}inom{t+1}i sum_{k=0}^n k^i
\
&=sum_{i=0}^{t+1}inom{t+1}iS_i(n)
end{align}
\
]
于是就有:
[egin{align}
sum_{i=0}^{t}inom{t+1}iS_i(n) &= (n+1)^{t+1}
\
inom{t+1}t S_t(n) &= (n+1)^{t+1}-sum_{i=0}^{t-1}inom{t+1}iS_i(n)
\
S_t(n) &= frac 1{t+1}left( (n+1)^{t+1}-sum_{i=0}^{t-1}inom{t+1}iS_i(n)
ight)
end{align}
]
斯特林数+离散微积分
斯特林数是为了通常幂转下降幂, 离散微积分是为了求自然数 下降 幂和。
要用到的离散微积分技巧:基于求和式 (sumlimits_{k=a}^b g(k+1)-g(k) = g(b+1)-g(a)),如此, 如果知道 (Delta g(n) = g(n+1)-g(n) = f(n)), 就可以快速计算 (sumlimits_{k=a}^b f(k))。
那么:
[egin{align}
S_t(n) &= sum_{k=0}^n k^t
\
&= sum_{k=0}^n sum_{i=0}^t egin{Bmatrix}t\ iend{Bmatrix}k^{underline i}
\
&= sum_{i=0}^t egin{Bmatrix}t\ iend{Bmatrix} sum_{k=0}^n k^{underline i}
\
& = sum_{i=0}^t egin{Bmatrix}t\ iend{Bmatrix} frac{(n+1)^{underline{i+1}}}{i+1}
\
& = sum_{i=0}^t egin{Bmatrix}t\ iend{Bmatrix} frac{1}{i+1}
sum_{j=0}^{i+1}egin{bmatrix}i+1\jend{bmatrix}(-1)^{i+1-j}(n+1)^j
end{align}
]
高阶差分+牛顿级数
牛顿级数对标泰勒级数
高阶差分:
[egin{align}
Delta f(k) &= f(k+1) - f(k)
\
Delta^2 f(k) = Delta f(k+1)-Delta f(k) &= f(k+2)-2f(k+1)+f(k)
\
Delta^3 f(k) = cdots&= f(k+3)-3f(k+2)+3f(k+1)-f(k)
end{align}
]
显而易见的规律:
[Delta^nf(x) = sum_{k=0}^ninom nk(-1)^{n-k}f(x+k)
]
可以用归纳法证明,听推荐文章说的,试着用下算子证明:
[egin{align}
ef(x) &= f(x)
\
sf(x) &= f(x+1)
\
Delta f(x) &= f(x+1) - f(x)
\
Delta f(x) &= (s-e)f(x)
\
Delta^n f(x) &= (s-e)^n f(x)
\
&= left( sum_{k=0}^n inom nk s^k (-1)^{n-k}e^{n-k}
ight) f(x)
end{align}
]
然后显然 (s^ke^{n-k}f(x)=f(x+k)), 就得证了。