• 数数结论乱记(长期


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

  • 相关阅读:
    SpringBoot 配置提示功能
    【源码解析】凭什么?spring boot 一个 jar 就能开发 web 项目
    【源码解析】自动配置的这些细节都不知道,别说你会 springboot
    validator 自动化校验
    【spring-boot 源码解析】spring-boot 依赖管理梳理图
    js防抖节流
    koa2怎么自定义一个中间件
    nuxt 脚手架创建nuxt项目中不支持es6语法的解决方案
    vue中兄弟之间组件通信
    js中css样式兼容各个浏览器写法
  • 原文地址:https://www.cnblogs.com/tztqwq/p/14189461.html
Copyright © 2020-2023  润新知