朴素多项式乘法考题

4 篇文章 0 订阅
3 篇文章 1 订阅

前言

这一篇博客是在之前学习FFT的博客之后的,所以,如果你还不会FFT,请先看多项式乘法(FFT),在这篇博客里我有良心的详细讲解

正文

题型一:模板题&类模板题
  • 模板系列可以供你检测你写的FFT是否正确,在很多OJ上都有
  • 高精度系列,正式赛场上这样的毒瘤题不是很多,现在的考题一般都会给一个模数让你求,但是对于一些特殊的题可能还是会用到,所以可以练一练手(FFT可以优化高精度乘法,高精度乘法优化后可以优化部分其它操作)
题型二:纯卷积题

考虑一次多项式乘法 C = A ∗ B C=A*B C=AB,其本质是做一次普通的卷积
C n = ∑ i = 1 n A i B n − i C_n=\sum_{i=1}^nA_iB_{n-i} Cn=i=1nAiBni
然后根据这个东西就能解决很多的问题

  • 卷积推式子系列
    BZOJ3527,这一道题是一道典型的卷积题目,把推一下式子就直接搞定了
  • 翻转数组系列
    BZOJ2194这是一道裸题,可以练练手,很多题都会用到这类技巧
题型三:生成函数题

什么是生成函数?
g ( x ) = ∑ i = 0 ∞ f ( i ) ∗ x i g(x)=\sum_{i=0}^{\infty}f(i)*x^i g(x)=i=0f(i)xi
就是这样一个东西,看起来好像很难的样子,实际上也确实很难,对于一些各种各样的 f ( i ) f(i) f(i)推式子都很麻烦,但当然也有简单的题目(另外有非FFT的生成函数题,可以自行学习,如BZOJ3028

  • 在一些数中求选的数和的可能性系列
    BZOJ3771这一道题可以用容斥推一下式子,然后通过FFT来计算答案,方法就把指数当成价值
题型四:匹配相关
  • 特殊匹配系列
    BZOJ4503能匹配上代表0,把通配符视为0,求 ( A i − B j ) 2 ∗ A i ∗ B j (A_i-B_j)^2*A_i*B_j (AiBj)2AiBj即可
    常见模型:石头剪刀布(分别标值FFT)
题型五:结合其它数据结构或者思想

BZOJ4332推公式+倍增

总结

FFT本身作为考点能考的东西并不是特别多,主要是考验推式子的能力。由于我现在太菜,阅题不多,所以也不是很全,这篇博客将会持续更新

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值