FFT 快速傅里叶变换 && NTT 快速数论变换

  快速傅里叶变换(FFT)支持在O(nlogn)的时间内计算两个n度的多项式的乘法,比朴素的O(n^2)算法更高效。由于两个整数的乘法也可以被当作多项式乘法,因此这个算法也可以用来加速大整数的乘法计算。

阅读全文 »

莫队算法

  这个算法的思想比较简单,我们在做RMQ类问题时,有多次询问的那种,其实在这些询问中有很多都是问的同一段区间,即有的区间被询问的多次,所以我们对询问进行一个排序,假设上次询问我们得到了区间[l,r]的值,那本次询问跟上次相比,多的我们加上即可,少的减掉即可。然后用到分块思想。

阅读全文 »

AC自动机

  AC自动机很类似于kmp算法,kmp算法适合于一个串与另一个串匹配,而AC自动机用于一坨串匹配一个串。某种意义上来说AC自动机=kmp+trie。

阅读全文 »

势能线段树

  简言之,有的区间修改不支持lazy标记(如区间开根号、取模、加减lowbit),但是这些修改存在一些奇妙的性质,即每个元素的修改次数有一个上限。我们在每个节点上记录一个值,表示区间内元素是否达到修改上限。在修改时,若没有达到上限,则暴力递归到叶子节点。反之,使用lazy标记或者直接return

阅读全文 »
0%