![](https://img-blog.csdnimg.cn/20201014180756918.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
FFT/NTT
文章平均质量分 74
wwyx2001
OIer----这条路,仅一人独行
展开
-
[UOJ#34]多项式乘法(FFT)
战原创 2017-08-23 18:58:25 · 374 阅读 · 0 评论 -
2018SD省队集训R2 D3
T1题解首先我们写一个dfs然后打出表来,上oeis找规律。。。 找到一个∑i=0aStirling2(a+1,i+1)∗(−1)a−i∗in−a∗i!∑i=0aStirling2(a+1,i+1)∗(−1)a−i∗in−a∗i!\sum_{i=0}^a Stirling2(a+1,i+1) * (-1)^{a-i}*i^{n-a}*i! 把第二类斯特林数的求法带进去∑i=0a(−...原创 2018-07-03 20:00:31 · 362 阅读 · 0 评论 -
2018SD省队集训R2 D2
T1题解我们并不需要知道相对应位置的数字是不是相等,只要置换之后的hash值相等就行了。 hash 函数本身相当于每个位置乘上 x 的若干次方,置换之后只要改变次方的顺序就好了。具体来说,设我们的base值是m,一段区间的hash值是∑ni=0Si∗mi∑i=0nSi∗mi\sum_{i=0}^nS_i*m^i,然后一个置换的hash值是∑ni=0Si∗mp(i)∑i=0nSi∗...原创 2018-07-02 21:52:05 · 368 阅读 · 0 评论 -
[COGS2259]异化多肽(NTT+多项式求逆+生成函数)
题目:我是超链接题解:首先一看这不是指数生成函数,对于每一个氨基酸整一个生成函数,x^(Ci的倍数)。 但我们发现这个东西没法化简&优化,复杂度过不去换个思路,我们把所有的氨基酸搞成一个生成函数,x^k的系数为相对分子质量为k的氨基酸有多少个,设为A(x),答案的多项式为B(x),那么B(x)=1+A(x)+A2(x)+...=11−A(x)B(x)=1+A(x)+A...原创 2018-04-26 21:39:19 · 256 阅读 · 0 评论 -
[BZOJ3771]Triple(FFT+生成函数+容斥)
题目:我是超链接题意:给出n个互不相同的数,问从中选出1/2/3个数,每一个可以组合出的和有多少种方案。题解:这破题不给n的范围?!好吧n把斧头价值不同那么最多是40000把。 要求组合的方案数,考虑生成函数。生成函数相乘的时候指数记录了所有的方案,那么首先构造只有一个的生成函数:如果有一个价值为i的东西就把x^i这一项设为1,设这个生成函数为G(x)G(x)G(x),那么G...原创 2018-04-26 16:26:15 · 199 阅读 · 0 评论 -
[BZOJ3992][SDOI2015]序列统计(NTT+DP+ksm)
题目:我是超链接题解:从简单开始吧。 首先我们假设题目让求的是“数列中所有数的【和】%mod=x的不同方案数” 那么设F[i][j]表示选择i个数%mod=j的方案数 转移方程F[i][j]=∑|S|k=1F[i−1][j−Sk]F[i][j]=∑k=1|S|F[i−1][j−Sk]F[i][j]=\sum_{k=1}^{|S|}F[i-1][j-S_k]这个形式我们可以转化...原创 2018-04-18 20:10:39 · 207 阅读 · 0 评论 -
[BZOJ3513][MUTC2013]idiots(FFT)
题目:我是超链接题解:一个合格的三角形——–两小边之和>第三边 总情况数我们知道C3nCn3C_{n}^{3},这里要用容斥,总的-不合法的 我们设a[i]表示i长度的木棍有多少,两个木棍和为i的方案数为F[i] 那么F[i]=∑a(i−j)∗a(j)F[i]=∑a(i−j)∗a(j)F[i]=\sum a(i-j)*a(j),对于这个首先当i为偶数的时候,可能选择了两个一...原创 2018-04-18 10:42:01 · 217 阅读 · 0 评论 -
[COGS2287][HZOI2015]疯狂的机器人(NTT+Catalan数)
题目:我是超链接题解:又是上下左右走的问题。。。当初我的Catalan入门就是这玩意那么我们设g[i]表示走i步光走左右不走上下,不会不走,回到原点的方案数 可以发现当i为奇数的时候g[i]=0 考虑i为偶数的情况,肯定是选择i/2步向上走,i/2步向下走,并且时刻保证向上走的步数>=向下走的步数 这不就是Catalan数吗,可以用Ci/2i−Ci/2−1iCii/...原创 2018-04-17 20:25:08 · 175 阅读 · 0 评论 -
[BZOJ4555][Tjoi2016&Heoi2016]求和(NTT)
题目:我是超链接题解:我的Ma呀这种东西应该给递推式吗?为什么不给我通项,于是我扪心自问不是TJ和HE选手,上网查了通项 S(n,m)=1m!∑k=1m(−1)kCkm(m−k)nS(n,m)=1m!∑k=1m(−1)kCmk(m−k)nS(n,m)=\frac{1}{m!}\sum_{k=1}^m(−1)^kC^k_m(m−k)^n 好叭我就把ta代入到这个凶残的柿子里叭 ...原创 2018-02-02 09:24:52 · 297 阅读 · 0 评论 -
[BZOJ4503]两个串(FFT)
题目:我是超链接题解:KMP乱搞?特判?好麻烦的样子 真的没想到FFT还可以解决字符串问题,脑洞题。 构造卷积 ai=si" role="presentation" style="position: relative;">ai=siai=sia_i=s_i bi=ti ti≠?" role="presentation" style="posi原创 2018-02-01 21:13:20 · 223 阅读 · 0 评论 -
[BZOJ3527][Zjoi2014]力(FFT)
题目:我是超链接题解:关键在于构造卷积 Ei=∑i>jqj(i−j)2−∑i<jqj(i−j)2" role="presentation" style="text-align: center; position: relative;">Ei=∑i>jqj(i−j)2−∑ijqj(i−j)2Ei=∑i>j原创 2018-02-01 09:09:19 · 184 阅读 · 0 评论 -
[BZOJ2194]快速傅立叶之二(FFT)
题目:我是超链接题解:什么东西可以被FFT加速呢? ci=∑ij=0ajbi−jci=∑j=0iajbi−jc_i=∑_{j=0}^ia_jb_{i−j} c0=a0b0c0=a0b0c_0=a_0b_0 c1=a1b0+a0b1c1=a1b0+a0b1c_1=a_1b_0+a_0b_1 …题目让求什么呢? ck=∑n−1i=kakbi−kck=∑i=kn−1akbi...原创 2018-01-31 20:10:40 · 221 阅读 · 0 评论 -
FFT学习笔记
前言基本没写过笔记这种东西,但是FFT这东西一开始就摧毁了我的智商,写写加深印象吧。 多亏了yhzq+yveh的笔记帮助,总算是明白一些了,以下部分内容引自二位dalao前置知识多项式定义以x" role="presentation" style="position: relative;">xxx为变量的多项式是定义在一个代数域F" role="presentatio原创 2018-01-31 11:27:31 · 393 阅读 · 0 评论 -
[BZOJ2179]FFT快速傅立叶(FFT)
题目:我是超链接题解:一个 很弱智的高精乘 FFT板子,用fft做完之后要处理进位。代码:#include #include #include using namespace std;const double pi=acos(-1.0);const int N=180005;struct complex{ double x,y; complex原创 2018-01-31 17:36:10 · 233 阅读 · 0 评论 -
2018SD省队集训R2 D4
T3题解我们看到最后的柿子差不多是个多项式定理的样子 不过这个实数的t次方怎么求期望呢?用积分,x^n的不定积分怎么算? 当n≠-1时 ∫x^ndx=1/(n+1)*x^(n+1)+C 当n=-1时 ∫x^ndx=lnx+C 那么这个求出来是面积,我们还要除以概率,也就是除以a 那么最后设E(i,t)表示xtixitx_i^t的概率,那么E(i,t)=atit+1E(i,...原创 2018-07-04 20:56:59 · 333 阅读 · 0 评论