• 多项式全家桶


    前置芝士:

    • FTT & NTT
    • 不低于高中的数学推导能力
    • 不低于高中的代数芝士
    • 高等数学初步
    • 复变函数初步(?)

    多项式乘法

    目标:给定两个多项式 F,G,求 F×G
    F(x)G(x)(FG)(x),将 F,G 转为点值形式后直接求积即可。

    多项式牛顿迭代系列

    目标:给定一个函数 X,求一个多项式 F,满足 X(F(x))0(modxn)
    定义 X(F0(x))0(modxn/2)
    F0(t) 处对 X(t) 进行泰勒展开,得到

    X(p)k=0dkX(F0(t))dtk(pF0(t))k

    ,展开 X(F(t))小(x)粉(f)兔(t)),得到

    X(F(t))k=0dkX(F0(t))dtk(F(t)F0(t))k

    ,而这个东西 0
    因为 F(x)F0(x)(modxn/2),所以有 xn/2F(x)F0(x),两边平方得到 xn(F(x)F0(x))2,所以在 (modxn) 意义下,可以只取前两项,得到准确结果,于是柿子变成

    X(F(t))X(F0(t))+X(F0(t))×(F(t)F0(t))0

    X 代表导数),因为 X,F0,X 都是已知,所以问题转化为一元一次方程,解得

    F(t)F0(t)X(F0(t))X(F0(t))

    多项式倒数

    我一般把多项式乘法逆叫做这名。
    目标:X(F(t))1F(t)H(t),其中 H(x) 给定。
    :注意求导时是对 F0(t) 求导,H(t) 要视为常数,得到 XF0(t)F02(t),注意这里有三个 “-” 号,计算时要小心符号:

    F(t)F0(t)X(F0(t))X(F0(t))F0(t)F01(t)H(t)F02(t)F0(t)+F01(t)H(t)F02(t)2F0(t)H(t)F02(t)

    多项式 exp

    • 目前还没有多项式 ln,所以先看后面的多项式 ln
      目标:X(F(t))lnF(t)H(t),其中 H(x) 给定。
      XF0(t)1F0(t),得到 F0(t)lnF0(t)H(t)1/F0(t)F0(t)×(1lnF0(t)+H(t))
      特别地:ABexp(BlnA)

    多项式 ln

    目标:给定一个 H(x),求 lnH(x)
    lnH(x)F(x),两边求导 H(x)H(x)F(x),有

    F(x)H(x)H(x)dx

    ,其中,分母的 H(x) 可以使用多项式倒数求出。

    多项式带余除法

    目标:给定一个 F(x),G(x),求 FmodG,(FFmodG)/G
    F(x)G(x)H(x)+L(x),同时记 mdegG+1
    换元法:ux1,发现

    xnF(1x)i0n1Fn1ixiFi(x)

    ,简单代数运算可得 Fi(x)Gi(x)Hi(x)+xnm+1Li(x),在 (modxnm+1) 意义下就是多项式除法,而且正好 H(n1)(m1)nm 次,在 (modxnm+1) 下完完全全就没有精度损失,于是 L(x)F(x)G(x)H(x)

    多项式三角函数

    多项式 sin

    因为 eix=cosx+isinx,因为 cos 是偶函数,sin 是奇函数得到 eix=cosxisinx,两个式子相减有 eixeix=2isinx,有 sinx=eixeix2i,而 iω4,正好 422,可以 NTT。于是只要 多项式 exp 即可。

    多项式 cos

    sin 提到的两个式子相加有 eix+eix=2cosx,有 cosx=eix+eix2,类似处理即可。

    多项式 tan

    tanF(x)=sinF(x)cosF(x)

    多项式反三角函数

    带入牛顿迭代即可。
    这里只给结论:
    sin1F(t)F0(t)tanF0(t)+H(p)cosF0(t)
    cos1F(t)F0(t)+cosF0(t)H(t)sinF0(t)
    tan1F(t)F0(t)sinF0(t)×cosF0(t)+H(t)cos2F0(t)

  • 相关阅读:
    文件上传 [ACTF2020 新生赛]Upload1
    (c/c++)——函数指针(回调函数)
    微信小程序跳转到其他小程序
    计算机毕业设计 基于SpringBoot的健身房管理系统的设计与实现 Java实战项目 附源码+文档+视频讲解目录
    假如面试官让你手撕顺序表,该如何快速准确的交出一份让面试官满意的答卷?
    Linux基础指令
    云原生 · Kubernetes - k8s集群搭建(kubeadm)(持续收录报错中)
    java基于ssm的 大学生社团管理系统 elementui 前后端分离
    LeetCode题目笔记——面试题 01.08. 零矩阵
    高阶数据结构学习之并查集
  • 原文地址:https://www.cnblogs.com/lhx-oier/p/16659352.html