zoukankan      html  css  js  c++  java
  • [学习笔记]一个多项式黑科技

    引入

    • 给定一个少项式 (m) 次多项式 (A(x)),求 (A^k(x))(0sim n) 次项

    • 对质数取模,保证 (A(x)) 的常数项不为 (0)

    做法

    • 倍增快速幂是 (O(nlog klog n))

    • 下面介绍一种 (O(nm+log k)) 的做法

    • 考虑对 (A^k(x)) 求导:

    • [A^k(x)'=kA^{k-1}(x)A'(x) ]

    • [A^k(x)'A(x)=kA^k(x)A'(x) ]

    • 考虑等号左右两边的 (n) 次项:

    • [sum_{i=0}^n(i+1)res_{i+1}a_{n-i}=ksum_{i=0}^n(i+1)a_{i+1}res_{n-i} ]

    • 注意到等号左边只有 (n-mle ile n) 是有用的,右边只有 (0le i<m) 是有用的,故:

    • [res_{n+1}=frac{ksum_{i=0}^{m-1}(i+1)a_{i+1}res_{n-i}-sum_{i=n-m}^{n-1}(i+1)res_{i+1}a_{n-i}}{(n+1)a_0} ]

    • 用上式即可在 (res_{0dots n}) 已知的条件下递推出 (res_{n+1}),特殊地 (res_0=a_0^k)

    • 复杂度 (O(nm+log k))

    • UPD:从这个递推式进行归纳,可以得到一个结论:(a_0=1) 时,([x^n]A^k(x)) 是一个关于 (k)(n) 次多项式

  • 相关阅读:
    冒泡排序
    位运算查缺补漏
    单元测试Junit5+Mockito3+Assertj
    插入排序
    Java异常处理
    Redis数据结构-list
    Redis数据结构-hash
    Redis全局命令
    对各向异性高光的理解
    OpenGL投影矩阵(Projection Matrix)构造方法
  • 原文地址:https://www.cnblogs.com/xyz32768/p/12813805.html
Copyright © 2011-2022 走看看