![](https://img-blog.csdnimg.cn/20201014180756780.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
FFT
_Ark
这个作者很懒,什么都没留下…
展开
-
[AH2017/HNOI2017]礼物 (FFT)
题面 LOJ传送门 题解 直接把贡献写出来看看。 ∑i=1n(ai−bi+x)2=∑i=1n(ai2+bi2)+nx2+2x∑i=1n(ai−bi)−2∑i=1naibi\sum_{i=1}^n(a_i-b_i+x)^2=\sum_{i=1}^n(a_i^2+b_i^2)+nx^2+2x\sum_{i=1}^n(a_i-b_i)-2\sum_{i=1}^na_ib_ii=1∑n(ai−bi+...原创 2019-12-24 15:49:02 · 140 阅读 · 0 评论 -
BZOJ 3451Normal (点分治+FFT)
题意 BZOJ3451 题解 Orz yyb题解 CODE #pragma GCC optimize ("O2") #include <bits/stdc++.h> using namespace std; const double Pi = acos(-1.0); const int MAXN = 30005; int fir[MAXN], to[MAXN<<1], n...原创 2019-09-14 16:30:32 · 224 阅读 · 0 评论 -
BZOJ 4503: 两个串 FFT
题意 在aaa串中找哪些地方出现了bbb。bbb中有通配字符。 设第一个串aaa的长度为nnn,第二个串bbb的长度为mmm。下标从000开始。 首先我们把bbb串中???的位置的值bib_ibi设为000。然后构造F(i)=∑j=0m−1(a[i+j]−b[j])2∗b[j]F(i)=\sum_{j=0}^{m-1}(a[i+j]-b[j])^2*b[j]F(i)=j=0∑m−1(a[i+...原创 2019-06-01 15:54:35 · 135 阅读 · 0 评论 -
「ZJOI2014」力 FFT
FFTl裸题,小于的部分直接做,大于的部分倒序后再做就行了。 #include <bits/stdc++.h> using namespace std; const int MAXN = 1 << 18; const double Pi = acos(-1.0); struct cp { double x, y; cp() { x = y = 0; } ...原创 2019-06-01 15:28:03 · 121 阅读 · 0 评论 -
Codeforces Round #551 (Div. 2) F. Serval and Bonus Problem (DP/FFT)
yyb大佬的博客 这线段期望好神啊。。。 还有O(nlogn)FFTO(nlogn)FFTO(nlogn)FFT的做法 Freopen大佬的博客 本蒟蒻只会O(n2)O(n^2)O(n2) CODE #include <bits/stdc++.h> using namespace std; const int mod = 998244353; typedef long long LL;...原创 2019-04-28 17:47:39 · 143 阅读 · 0 评论 -
[BZOJ 3160] 万径人踪灭 (FFT + Manacher)
AC code #include &amp;lt;cstdio&amp;gt; #include &amp;lt;cmath&amp;gt; #include &amp;lt;algorithm&amp;gt; #include &amp;lt;cstring&amp;gt; using namespace std; const int MAXN = 1e5 + 5;原创 2018-12-24 22:54:33 · 176 阅读 · 0 评论 -
FFT/NTT [51Nod 1028] 大数乘法 V2
题目链接:51Nod 传送门 没压位,效率会低一点 1.FFT #include &lt;cstdio&gt; #include &lt;cstring&gt; #include &lt;algorithm&gt; #include &lt;cmath&gt; using namespace std; const int MAXN = 1&lt;原创 2018-12-17 21:57:59 · 301 阅读 · 0 评论 -
Partition HDU - 4602 (不知道为什么被放在了FFT的题单里)
题目链接:Vjudge 传送门 相当于把nnn个点分隔为若干块,求所有方案中大小为kkk的块数量 我们把大小为kkk的块,即使在同一种分隔方案中的块 单独考虑,它可能出现的位置是在nnn个点的首、尾、中 出现在首尾时,有222种情况,此时剩下的点有(n−k−1)(n-k-1)(n−k−1)个间隔,每个间隔可分可不分,所以方案数为2⋅2(n−k−1)2\cdot 2^{(n-k-1)}2⋅2(n−...原创 2018-12-15 12:32:48 · 197 阅读 · 0 评论 -
FFT版题 [51 Nod 1028] 大数乘法
题目链接:51 Nod 传送门 数的长度为10510^5105,乘起来后最大长度为2×1052\times10^52×105 由于FFT需要把长度开到222的次幂,所以不能只开到2×1052\times10^52×105,会TLE(卡了好久,还以为是要压位) #include &lt;cstdio&gt; #include &lt;cstring&gt; #include &lt;algorith...原创 2018-12-15 12:03:23 · 213 阅读 · 0 评论 -
[hdu 5307] He is Flying (FFT)
题意 给出长度为nnn的数列aaa,记∑i=1nai=s(s&amp;amp;amp;lt;=50000)\sum_{i=1}^na_i=s(s&amp;amp;amp;lt;=50000)∑i=1nai=s(s&amp;amp;lt;=50000) 对于任意k∈[0,s]k\in[0,s]k∈[0,s],求出区间和为kkk的区间的长度之和 题目分析 有了几道fft题的经验,套路就是把可加性的计算化为幂的次数做多项式卷积 有 Ans(k)=..原创 2018-12-19 17:35:18 · 303 阅读 · 0 评论