zoukankan      html  css  js  c++  java
  • 多项式全家桶

    多项式全家桶学习

    多项式乘法

    用DFT将系数表达式转为点值表达式,(O(n))乘法,再IDFT回去即可

    FFT详解

    多项式求逆

    给定多项式(A(x)),求(B(x))满足(A(x)B(x)equiv1(mod x^n))

    考虑倍增

    不妨假设(n=2^k)

    • (n=1)时,(B(x)=A(x)^{p-2})
    • (n>1)时,已有(A(x)B'(x)equiv1(mod x^{frac{n}{2}}))

    [A(x)B(x)equiv1(mod x^n) ]

    显然有

    [A(x)B(x)equiv1(mod x^{frac{n}{2}}) ]

    又因为

    [A(x)B'(x)equiv1(mod x^{frac{n}{2}}) ]

    [A(x)(B(x)-B'(x))equiv1(mod x^{frac{n}{2}}) ]

    所以

    [B(x)-B'(x)equiv 0(mod x^{frac{n}{2}}) ]

    前n/2项都为0,那么平方后就有

    [B(x)^2-2B(x)B'(x)+B'(x)^2equiv0(mod x^n) ]

    两边同乘(A(x)),整理,有

    [B(x)equiv2B'(x)+A(x)B'(x)^2(mod x^n) ]

    递归/自下而上递推即可

    多项式求导、积分

    求导

    [frac{mathbb{d}(sumlimits_{k=0}^{n-1}a_k x^k)}{mathbb{d} x}=sum_{k=0}^{n-1}frac{mathbb{d}(a_k x^k)}{mathbb{d} x}=sum_{k=1}^{n-1}k a_k x^{k-1}=sum_{k=0}^{n-2}(k+1)a_{k+1}x^k ]

    积分

    [intsum_{k=0}^{n-1}a_k x^k mathbb{d}x=sum_{k=0}^{n-1}int a_k x^kmathbb{d}x=sum_{k=0}^{n-1}frac{a_k}{k+1}x^{k+1}=sum_{k=1}^nfrac{a_{k-1}}{k}x^k ]

    多项式求ln

    已知(A(x)),求(B(x)=ln(A(x)))

    对两边求导,得到

    [B'(x)=frac{A'(x)}{A(x)} ]

    两边积分,则有

    [B(x)=B(x)=intfrac{A'(x)}{A(x)}mathbb{d}x ]

    求导+积分+求逆解决

  • 相关阅读:
    Codeforces 841 D
    Codeforces 838 B
    Codeforces 833 C
    Codeforces 101572 D
    Codeforces 101173 C
    Codeforces 444 C
    POJ 3076 Sudoku
    Codeforces 1025 D
    算法笔记--基环树
    Codeforces 1016 E
  • 原文地址:https://www.cnblogs.com/tt66ea-blog/p/13745526.html
Copyright © 2011-2022 走看看