FFT、NTT、FWT……
Cold_Chair
我XXX就是饿死,死外边,从这里跳下去,也不会再做你九条可怜一个测试点
展开
-
FFT(快速傅里叶变换)学习小记
磕了三天,也算是磕了出来,还需要强化一下。谢谢yl的ppt。问题引入:51nod 大数乘法 V2 题目就是大数乘法,n<=10^5。一个科学的做法:把a,b视作多项式。先分别做点值运算,再做插值运算搞回来就行了。但是我们知道正常的点值和插值都需要O(n^2)的时间去完成。FFT就是利用特殊的x去优化这个过程。单位复数根:n次单位复数根是满足wn=1w^n=1的复数。n次单位复数根恰好有n个,它们均原创 2018-03-28 20:43:10 · 577 阅读 · 0 评论 -
Samjia Contest 12.22
传送门:https://floj.tech/contest/449题解:注意到每次只会把一段往前copy,那么一个点每次都会只会向前走,假设现在x∈[yi,yi+1),hi&amp;gt;0,那么x一次向左会跳yi-hi的距离,直到跳到yi左边。这个可以直接除一下来得到跳出这段后的位置,倒着扫,x最终会定在一个点上。如果两个点最终汇聚在一个点上,它们就是一样的。时间复杂度O((a+q)b)O(...原创 2018-12-24 21:57:26 · 392 阅读 · 0 评论 -
2019.1.17模拟
T1:求∑i=1nti∗Cn−ik−1\sum_{i=1}^nt^i*C_{n-i}^{k-1}∑i=1nti∗Cn−ik−11&lt;=k&lt;=1e7,1&lt;=n&lt;=1e91&lt;=k&lt;=1e7,1&lt;=n&lt;=1e91<=k<=1e7,1<=n<=1e9也不知道怎么搞...原创 2019-01-17 18:46:18 · 305 阅读 · 0 评论 -
2019.1.15模拟
T1:给你一个长度为n的序列a,求一个最小n的排列p,使maxi=1n−1(a[p[i]] xor a[p[i+1]])\max_{i=1}^{n-1}(a[p[i]]~xor~a[p[i+1]])maxi=1n−1(a[p[i]] xor a[p[i+1]])最小。题解:不知道为什么想了这么久就是不觉得这题是个贪心。按照位运算贪心的基本思想,肯...原创 2019-01-15 20:42:09 · 290 阅读 · 0 评论 -
FWT模板
我觉得那几个证明真的有点猥琐,以后有时间再搞懂吧(或许搞懂了也不会补的)推荐博客:yyb我觉得除了异或,结论都可以感性出来,异或也很好记。IFWT的话就是直接反解,不需要记。or:FWT(A)=(FWT(A0),FWT(A0+A1))FWT(A)=(FWT(A0),FWT(A0+A1))FWT(A)=(FWT(A0),FWT(A0+A1))IFWT(A)=(IFWT(A0),IFWT(...原创 2019-01-15 21:31:31 · 488 阅读 · 1 评论 -
【WC2019模拟2019.1.14】选数
Description:题解:有gcd那先反演掉。∑∑gcd(a,b)\sum\sum gcd(a, b)∑∑gcd(a,b)=∑dd∗[d∣a]∗[d∣b]∗[(a/d,b/d)=1]=\sum_{d}d*[d|a]*[d|b]*[(a/d,b/d)=1]=∑dd∗[d∣a]∗[d∣b]∗[(a/d,b/d)=1]=∑dd∗∑d′μ(d′)∗∑dd′∣a∑dd′∣bI=\sum_...原创 2019-01-15 21:48:59 · 607 阅读 · 0 评论 -
JZOJ 幽幽子与森林
题目大意:迷途竹林可以看成是一个n个点的森林,幽幽子定义dis(u,v)为u到v路径上的边的数量,若u和v不连通则为m。她定义整个森林的危险度为为了去拜访永琳师匠,幽幽子需要提前知道迷途竹林的危险度。但迷途竹林的形态是时刻变化着的,所以幽幽子希望知道危险度的期望是多少。为了避免浮点运算,答案对998244353取模。1<=n<=2e5题解:这个计数写得真的是累。很容易想到...原创 2019-02-28 16:48:15 · 13324 阅读 · 0 评论 -
多项式全家福(缺插值和点值)
文章目录写法:vector写有什么好处?vector写的时候注意什么?Dft:求逆:写法:vector写有什么好处?1.分治NTT的时候不用处理麻烦的下标。2.传进函数的时候不用传指针而不会爆栈。3.copy,swap,reverse,clear,resize等vector的函数可以帮助您快速地处理。vector写的时候注意什么?由于本人非常非常地懒,所以全部都是用vector写的。...原创 2019-07-02 22:28:42 · 1018 阅读 · 1 评论 -
【清华夏令营模拟2019.5.22】连续段(析合树+多项式牛顿迭代)
Description:n<=1e5,P是NTT模数题解:析合树见WC2019LCA营员交流讲稿我们考虑把一个序列划分成本源连续段。怎么划分呢?就是极大划分,假设划分成了x段。这x段需要满足任取一个区间的段,要么可以全部可以拼起来(1),要么除了最大的那一个其它都不行(2)。仔细思考这样就能表示所有的段了。(1)就是析点,(2)就是合点。考虑x=2、3时只能是合点设F表...原创 2019-05-22 21:31:04 · 679 阅读 · 0 评论 -
【CTS2019Day1】珍珠
传送门.不知道怎么说这题,考场时完全没有想过生成函数,随便想想就有70+分了啊。考虑d个中如果有k个是奇数,则(n−k)/2>=m(n-k)/2>=m(n−k)/2>=m即k<=n−2mk<=n-2mk<=n−2m,当然k<=Dk<=Dk<=D设f[k]f[k]f[k]表示k个奇数的方案...原创 2019-06-20 20:53:06 · 336 阅读 · 0 评论 -
任意模数FFT模板(一大一小模数NTT)
练手题: 51nod 1172 Partial Sums V2 这个一大一小模数NTT可以比三模数NTT少三次DFT,但是有三次DFT常数会大,因为用了大数乘法黑科技,整体还是要快的。两个模数分别是: 998244353和29*2^57+1,原根都是3用中国剩余定理合并的时候,只能两两合并,类似于扩展CRT,推推式子就行了。Code:#include<cstdio&...原创 2018-08-13 21:44:16 · 493 阅读 · 0 评论 -
Codeforces Round #485 (Div. 1) D. Perfect Encoding
原题链接.题目大意:b是一堆正整数。 若∏bi>=n∏bi>=n\prod b_i>=n, 求∑bi∑bi\sum b_i的最小值。n<=101.5∗106n<=101.5∗106n∑bi∑bi\sum b_i确定的话,使∏bi∏bi\prod b_i最大一定是尽可能拆2、3,且2的个数不超过2。 证明自行感性认识。所以这题变成了求大数的对数,底数是3...原创 2018-06-26 21:05:30 · 347 阅读 · 0 评论 -
【NOI2013模拟】梦醒
Description:Pty继续着他的疯狂奔跑,终于渐渐体力不支,在一个应该拐弯的地方没有刹住车,掉入了深深的沼泽中,“啊~~~~~·”pty惊恐的大叫,突然从梦中惊醒了。哪里还有什么奇怪的金字塔,沼泽地,大树。。。只是一个梦而已呀。看了看自己熟悉的房间,pty定了定神。好不容易恢复了过来,pty突然想到还有集训队的互测题没有出!!,如果没有出完的话,后果= =。。啧啧。。pty宁愿再回...原创 2018-04-17 19:42:38 · 238 阅读 · 0 评论 -
【srm603】Sum Of Arrays
Description:英雄有两个整数数列A 和B。每个数列有恰好n 个元素。英雄将会对两个数列进行两次操作:首先,他会将两个数列中的元素按照某种方式重新排列。(他可以将数列排成任意他想要的顺序,包括原本的顺序。交换数列A 和B 的元素是不被允许的,每个数列要独自重排。)在此之后,他会计算出一个有n 个元素的新数列C,按照对于所有i,C[i] = A[i] + B[i]。英雄喜欢相同的多个数字。他的原创 2018-04-17 22:09:04 · 266 阅读 · 0 评论 -
NTT(快速数论变换)和多项式求逆学习小记
NTT类似于FFT,只是把单位复数根改成了具有特殊性质的数,当然是在mo意义下的。假设是mo一个数p。p一定要是一个质数,并且p-1 = 2^x*y,2^x次方还要比较大。原根:对于一个质数p,它一定有原根g。满足g^x(mod p)意义下互不相同(0<=x<<<<winwniw_n^i对应gi∗(mo−1)ngi∗(mo−1)ng^{i*{(...原创 2018-04-13 20:21:34 · 1048 阅读 · 0 评论 -
【NOI2018模拟4.2】table
Description:、 题解:做法1:一行一行的看。每次变换相当于乘上多项式(bx+a)。所以可以搞出(bx+a)−(p−1)(bx+a)−(p−1)(bx+a)^{-(p-1)}乘第p行的数就可以还原出第一行,之后的用个组合数搞搞就行了。(bx+a)−(p−1)(bx+a)−(p−1)(bx+a)^{-(p-1)}的话,只用n项就可以了,并不用全部。...原创 2018-04-13 20:34:17 · 286 阅读 · 0 评论 -
【JSOI2012】分零食
Description:这里是欢乐的进香河,这里是欢乐的幼儿园。 今天是 2 月 14 日,星期二。在这个特殊的日子里,老师带着同学们欢乐地跳着,笑着。校长从幼儿园旁边的小吃店买了大量的零食决定分给同学们。听到这个消息,所有同学都安安静静地排好了队,大家都知道,校长最不喜欢调皮的孩子。 同学们依次排成了一列,其中有 A位小朋友,有三个共同的欢乐系数 O,S 和 U。如果有一位小朋友得到了 x 个糖果原创 2018-04-20 19:42:28 · 477 阅读 · 0 评论 -
【gdoi2018 day1】小学生图论题
题目大意:lj竞赛图。题解:考虑把强联通分量缩点,大概是这样的(画图水平有限): 看那些红色标记的边,强联通分量个数=红色边的个数+1红色边的判定条件?设它左边的点集为S,右边的为T。S到T的边方向一定要是S->T。当m=0时,枚举S的大小,就可以算答案了。Ans=∑n−1i=1Cin∗2i∗(n−i)Ans=\sum_{i=1}^{n-1}C_n^i*2^{i*(n-i)}当m>0时,考虑用背包原创 2018-05-09 17:13:43 · 589 阅读 · 0 评论 -
【集训队互测2013】城市规划 (多项式求逆或分治FFT)
Description:刚刚解决完电力网络的问题, 阿狸又被领导的任务给难住了.刚才说过, 阿狸的国家有n 个城市, 现在国家需要在某些城市对之间建立一些贸易路线, 使得整个国家的任意两个城市都直接或间接的连通.为了省钱, 每两个城市之间最多只能有一条直接的贸易路径. 对于两个建立路线的方案, 如果存在一个城市对, 在两个方案中是否建立路线不一样, 那么这两个方案就是不同的, 否则就是相同的. 现在原创 2018-04-25 20:13:46 · 364 阅读 · 0 评论 -
【NOI2015模拟YYT】传送
Description:你在一个有n 个点的环上,环上点按逆时针顺序标号为0 到n - 1。你一 开始在0 号点。你在每一回合可以使用k 种传送中的一种,第i 种传送会将你 按逆时针方向移动ai 个点。有m 个限制条件,对于每个限制条件(xi; yi),要 求不能在第xi 步之后在yi 号点上。你要求出经过l 步之后在0 号点的方案数 模998244353。题解:直接NTT?O(mnlog2原创 2018-05-04 19:58:25 · 209 阅读 · 0 评论 -
Codeforces 960 G Bandit Blues
传送门.题目大意:求有多少个n的排列: 满足: 1.有a个数比它左边的都大 2.有b个数比它右边的都大1 <= n <= 10^5题解:设fi,jfi,jf_{i,j}表示i的排列,有j个数比它左边的都大的方案数。考虑加一个最小的数进来,转移为fi,j=fi−1,j−1+(i−1)∗fi−1,jfi,j=fi−1,j−1+(i−1)∗fi−1,jf_{i,...原创 2018-06-30 16:25:29 · 282 阅读 · 0 评论 -
【NOI2019模拟2019.6.29】智慧树(fft单位根性质推导)
Description:1<=n<=8000,m<=57984且m是mo-1的约数空间限制32MB,时间限制5s题解:首先思考一下m=2?m=2^?m=2?怎么做?我们知道fft的本质是一个循环卷积,这道题要求mod mmod~mmod m,那么可以利用这个特质而不管溢出,一开始对每一个点的序列进行dft,然后每次转移就是把dft的序列乘起来,...原创 2019-06-30 15:27:34 · 877 阅读 · 1 评论