今天本打算结了数学,也就只剩下函数这一章,快速傅里叶变换和快速数论变换了。没想到学FFT遇到的困难比起莫反有过之而无不及,从早上七点开始一直到下午四点才算是弄懂了理论部分,然后四点开始码裸的高精乘,到六点多也没调出来,吃饭,九点才A掉了。FFT让我觉得不可思议,我以前一直纳闷,e有何用?复数有何用? ...
分类:
其他好文 时间:
2018-02-18 21:55:11
阅读次数:
192
转自ACdreamers (http://blog.csdn.net/acdreamers/article/details/39026505) 在上一篇文章中 http://blog.csdn.net/acdreamers/article/details/39005227 介绍了用快速傅里叶变 换来 ...
分类:
其他好文 时间:
2017-08-05 09:59:19
阅读次数:
207
3992: [SDOI2015]序列统计 Description 小C有一个集合S,里面的元素都是小于M的非负整数。他用程序编写了一个数列生成器,可以生成一个长度为N的数列,数列中的每个数都属于集合S。 小C用这个生成器生成了许多这样的数列。但是小C有一个问题需要你的帮助:给定整数x,求所有可以生成 ...
分类:
其他好文 时间:
2017-02-12 19:53:49
阅读次数:
151
快速数论变化(NTT)是的原理其实和快速傅里叶变换是一样的原理。 对于形如m= c*2^n+1的费马素数,假设其原根为g。那么瞒住g^(m-1)==1 而且正好(m-1)能整除2^n的。所所以可以在模p域进行NTT变换。旋转因子为 g^((m-1)/n)。其他的原理都和FFT的原理相同。这样可以解决特殊情况下FFT的浮点误差。
/*
* Author: islands
* Create...
分类:
其他好文 时间:
2015-07-31 22:03:42
阅读次数:
169
题面很简单,就懒得贴了,那不是我要说的重点。
重点是NTT,也称快速数论变换。
在很多问题中,我们可能会遇到在模意义下的多项式乘法问题,这时传统的快速傅里叶变换可能就无法满足要求,这时候快速数论变换就派上了用场。
考虑快速傅里叶变换的实现,利用单位复根的特殊性质来减少运算,而利用的,就是dft变换的循环卷积特性。于是考虑在模意义下同样具有循环卷积特性的东西。
考虑在模p意义下(pp为特定的质...
分类:
其他好文 时间:
2015-07-08 22:40:19
阅读次数:
291
莫比乌斯反演
莫比乌斯反演在数论中占有重要的地位,许多情况下能大大简化运算。那么我们先来认识莫比乌斯反演公式。
定理:和是定义在非负整数集合上的两个函数,并且满足条件,那么我们得到结论
在上面的公式中有一个函数,它的定义如下:
(1)若,那么
(2)若,均为互异素数,那么
...
分类:
其他好文 时间:
2015-05-17 13:44:53
阅读次数:
279
题目大意:给定n(n
求原根,对S集合内每个元素取指标,然后搞出生成函数f(x)
那么答案就是(f(x))^n (mod x^(m-1),mod 1004535809)
上NTT用多项式快速幂搞一搞就好了
#include
#include
#include
#include
#define M 16400
#define MOD 1004535809
#define INF 0x...
分类:
其他好文 时间:
2015-04-15 21:27:51
阅读次数:
158