[关闭]
@SovietPower 2018-05-04T22:32:58.000000Z 字数 1758 阅读 3275

FFT习题 2018.5

数学,数论


代码见这.

BZOJ.2194.快速傅立叶之二


  给定,求



  (先令)
  首先往卷积上想。。
  的差值是一定的,但是卷积的形式是

  即的和是一定的。
  于是考虑把一个数组反转一下,这里把反转,那么

  这样的和就是一定的了,为,于是令

  这样就可以了。
  

  时,要么要么,没有影响。
  所以最后的

BZOJ.3527.[ZJOI2014]力


  给出


  令,求所有

  这的挺详细了,我再写遍。
  (下标从0开始,
  可以把约去,即

  令,规定,那么

  (注意是个平方)
  左边就是卷积的形式,可以直接算。
  右边

  反转,令,那么

  令,也用FFT计算就可以了。
  最后

  还有种常数更优的方法


  给出文本串S和模式串T和k,S,T为DNA序列(只含)。对于S中的每个位置,只要中有一个位置匹配了字符,那么就认为可以匹配。求S中有多少位置匹配了T。

  题意一直不很明白。。(→→这就是你颓了一下午一晚上写了一道题的理由?)
  匹配当然是连续的,即若位置匹配,则
  我们枚举每个字符c,算出每个位置的,表示当前匹配字符c, 能够和 匹配的有多少个。
  令,那么


  一个位置满足4个字符的之和等于才是一个合法的位置。(怎么可能还有T本身限制呢→
→)
  同上一题,反转吧,那么

  FFT算就行了。
  的预处理一遍前缀和就行啊。。


  

  
  
  

添加新批注
在作者公开此批注前,只有你和作者可见。
回复批注