• 多项式fft、ntt、fwt 总结


    做了四五天的专题,但是并没有刷下多少题。可能一开始就对多项式这块十分困扰,很多细节理解不深。

    最简单的形式就是直接两个多项式相乘,也就是多项式卷积,式子是$N^2$的。多项式算法的过程就是把卷积做一种变换,在变换后各系数相称得到新系数。其实这一步变换的构造过程挺深奥的,并不是很会。对于多项式卷积的变换就是点值。于是就有了快速变换这样的算法。

    细节问题出过很多。边界的问题容易弄错。一般如果是两个N项多项式相乘,得到的是一个$2*N-1$项的多项式,这是存在系数的,只不过一般我们只要N项的结果,所以做fft、ntt的时候总项数从$2*N$开始计算。其实这样解释比较牵强,但是原理的解释我并不清楚,稍感性理解。

    多项式卷积应该化成类似i+j=k的形式,其实差值为k也是可以卷积的(翻转一个序列,这样得到的结果序列也是反的)。

    fwt处理位运算形式的卷积,同样分治法。位运算是针对下标的,分治的时候考虑好左右两半的子答案的贡献。

    多项式全家桶,基础是求导、积分。有时候一些式子不是直接两个相乘得到另一个,可能还要先求出逆元再变回去。这时候用到的就是关于多项式的各种运算。

    具体的题目好多是和卷积、“各种数和各种反演”有关,把式子化成卷积形式进行优化。

    没有时间写每个题解了,做题也很少,好多东西还没学。这块综合了不少东西,前置内容就有很多。

    可能多项式要咕一大截了,难受。

  • 相关阅读:
    javascript ext 闭包
    Hibernate HQL from superclass 问题
    sql查询按in顺序排序显示数据 oracle
    Hibernate createSQLquery()
    sql 分页
    javasript 闭包测试
    Excel 批量快速导入mySQL 解决方案~~
    C# 注册COM+组件步骤~
    QT错误集锦~
    QuartzNet Test~~
  • 原文地址:https://www.cnblogs.com/Duan-Yue/p/12047212.html
Copyright © 2020-2023  润新知