zoukankan      html  css  js  c++  java
  • 数数结论乱记(长期

    [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)), 就得证了。

  • 相关阅读:
    Junit单元测试
    win7的6个网络命令
    WOJ1024 (POJ1985+POJ2631) Exploration 树/BFS
    WOJ1022 Competition of Programming 贪心 WOJ1023 Division dp
    woj1019 Curriculum Schedule 输入输出 woj1020 Adjacent Difference 排序
    woj1018(HDU4384)KING KONG 循环群
    woj1016 cherry blossom woj1017 Billiard ball 几何
    woj1013 Barcelet 字符串 woj1014 Doraemon's Flashlight 几何
    woj1012 Thingk and Count DP好题
    woj1010 alternate sum 数学 woj1011 Finding Teamates 数学
  • 原文地址:https://www.cnblogs.com/tztqwq/p/14189461.html
Copyright © 2011-2022 走看看