fft
文章平均质量分 62
SC.ldxcaicai
我很菜=_=
展开
专栏收录文章
- 默认排序
- 最新发布
- 最早发布
- 最多阅读
- 最少阅读
-
2018.08.28 洛谷P3803 【模板】多项式乘法(FFT)
传送门 fft模板题。 终于学会fft了。 这个方法真是神奇! 经过试验发现手写的complex快得多啊! 代码: #include<iostream> #include<cstdio> #include<cmath> #define N 10000005 using namespace std; inline int read(){ int...原创 2018-08-28 15:59:47 · 249 阅读 · 0 评论 -
洛谷P5050 【模板】多项式多点求值(分治ntt)
传送门 解析 代码: #include<bits/stdc++.h> #define ri register int using namespace std; const int rlen=1<<18|1; inline char gc(){ static char buf[rlen],*ib,*ob; (ib==ob)&&(ob=(ib=b...原创 2019-07-02 16:25:43 · 336 阅读 · 0 评论 -
bzoj3527: [Zjoi2014]力(fft)
传送门 fftfftfft菜题。 题意简述:给一个数列aia_iai,对于i=1→ni=1\rightarrow ni=1→n求出ansi=∑i&lt;jai(i−j)2−∑i&gt;jai(i−j)2ans_i=\sum_{i&lt;j}\frac{a_i}{(i-j)^2}-\sum_{i&gt;j}\frac{a_i}{(i-j)^2}ansi=∑i<...原创 2019-02-28 21:46:20 · 174 阅读 · 0 评论 -
bzoj4503: 两个串(fft)
传送门 题意简述:给两个字符串s,ts,ts,t,ttt中可能有通配符,问ttt在sss出现的次数和所有位置。 思路:一道很熟悉的题,跟bzoj4259bzoj4259bzoj4259差不多的。 然后把每个字符串的字符投射成数值(′a′&#x27;a&#x27;′a′ ~ ′z′→1&#x27;z&#x27;\rightarrow1′z′→1~262626,′?′...原创 2019-02-06 23:28:29 · 226 阅读 · 0 评论 -
codeforces 528D. Fuzzy Search(fft)
传送门 fftfftfft好题。 题意简述:给两个字符串s,ts,ts,t,问ttt在sss中出现了几次,字符串只由A,T,C,GA,T,C,GA,T,C,G构成。 两个字符匹配的定义: 当si−k,si−k+1,...,si+k−1,si+ks_{i-k},s_{i-k+1},...,s_{i+k-1},s_{i+k}si−k,si−k+1,...,si+k−1,si+k中存在至少一个字...原创 2019-01-26 09:49:51 · 450 阅读 · 0 评论 -
bzoj3513: [MUTC2013]idiots(fft)
传送门 fftfftfft经典题。 题意简述:给定nnn个长度分别为aia_iai的木棒,问随机选择3个木棒能够拼成三角形的概率。 思路:考虑对于木棒构造出生成函数然后可以fftfftfft出两个木棒能够生成的边长和的生成函数 注意去重 我们还可以在读入的时候顺便统计出cnticnt_icnti表示长度≤i\le i≤i的木棒有多少根。 然后可以算出选出3个木棒不能拼成三角形的方案数,简单容...原创 2019-01-02 14:53:30 · 292 阅读 · 0 评论 -
bzoj5300: [Cqoi2018]九连环(fft优化高精+快速幂)
传送门 题意不好描述(自己看样例解释) 首先可以推出一个递推式:fn=fn−1+2fn−2+1f_n=f_{n-1}+2f_{n-2}+1fn=fn−1+2fn−2+1 然后可以构造两个等式: (fn+fn−1+1)=2(fn−1+fn−2+1)(f_n+f_{n-1}+1)=2(f_{n-1}+f_{n-2}+1)(fn+fn−1+1)=2(fn−1+fn−2+1) (fn−2...原创 2019-01-02 12:08:49 · 238 阅读 · 0 评论 -
bzoj3771: Triple(生成函数+fft+容斥原理)
传送门 生成函数经典题。 题意简述:给出nnn个数,可以从中选1/2/31/2/31/2/3个,问所有可能的和对应的方案数。 思路: 令A(x),B(x),C(x)A(x),B(x),C(x)A(x),B(x),C(x)表示选111个,222个,333个的生成函数,ans1(x),ans2(x),ans3(x)ans1(x),ans2(x),ans3(x)ans1(x),ans2(x),ans3...原创 2018-12-31 00:26:25 · 375 阅读 · 0 评论 -
洛谷P4238 【模板】多项式求逆
传送门 多项式求逆模板题。 简单讲讲? 多项式求逆 定义: 对于一个多项式A(x)A(x)A(x),如果存在一个多项式B(x)B(x)B(x),满足B(x)B(x)B(x)的次数小于等于A(x)A(x)A(x)且A(x)B(x)≡1mod&ThinSpace;&ThinSpace;xnA(x)B(x)≡1 \mod x^nA(x)B(x)≡1modxn,那么我们称B(x)为A(x...原创 2018-12-30 15:49:02 · 238 阅读 · 0 评论 -
多项式相关&&生成函数相关&&一些题目(updating...)
索引 多项式乘法 多项式求逆 多项式求导 多项式积分 多项式乘法 这个大家应该都会吧 还是简单推推式子吧。 已知的: A(x)=∑i=0naixiA(x)=\sum_{i=0}^na_ix^iA(x)=∑i=0naixi B(x)=∑i=0mbixiB(x)=\sum_{i=0}^mb_ix^iB(x)=∑i=0mbixi 要求的: C(x)=A(x)B(x)=∑i=0n+m(∑j=0...原创 2018-12-30 10:50:32 · 1516 阅读 · 0 评论 -
洛谷 P4721 【模板】分治 FFT
传送门 如同题目所描述的一样,这是一道板题。 题意简述:给你一个数组g1,2,...ng_{1,2,...n}g1,2,...n并定义f0=1,fi=∑j=1ifi−jgjf_0=1,f_i=\sum_{j=1}^if_{i-j}g_jf0=1,fi=∑j=1ifi−jgj,让你求f0,1,...,nf_{0,1,...,n}f0,1,...,n 解析 代码 : #include&...原创 2019-01-04 10:56:25 · 218 阅读 · 0 评论 -
2018.11.18 spoj Triple Sums(容斥原理+fft)
传送门 这次fftfftfft乱搞居然没有被卡常? 题目简述:给你nnn个数,每三个数ai,aj,ak(i&lt;j&lt;k)a_i,a_j,a_k(i&lt;j&lt;k)ai,aj,ak(i<j<k)组成的所有和以及这些和出现的次数。 读完题直接让我联想到了昨天写过的一道用fftfftfft优化点分治合并的题 ,这不是差不多嘛? 只是这一次的...原创 2018-11-18 12:02:17 · 210 阅读 · 0 评论 -
2018.11.17 bzoj4259: 残缺的字符串(fft)
传送门 fftfftfft套路题。 我们把aaa ~ zzz映射成111 ~ 262626,然后把∗*∗映射成000。 考虑对于两个长度都为nnn的字符串A,BA,BA,B。 我们定义一个差异函数dist(A,B)=∑i=1n(ai−bi)2aibidist(A,B)=\sum_{i=1}^n(a_i-b_i)^2a_ib_idist(A,B)=∑i=1n(ai−bi)2aibi其中a,...原创 2018-11-17 15:46:28 · 266 阅读 · 0 评论 -
2018.11.17 codechef PRIMEDST(点分治+fft)
传送门 fftfftfft一眼题(其实最先想到的是nttnttntt,wawawa了几次之后发现模数不够大果断弃疗写fftfftfft) 我们点分治统计答案的个数。 考虑现在已经统计出了到当前点的所有距离如何更新答案。 显然如果两个距离能够凑出一个质数的话就对答案有1的贡献。 所以相当于计算出每一个距离的个数。 然后可以推一个式子: tota=∑i=0maxdiscnti∗cnta−itot_a=...原创 2018-11-17 11:34:34 · 430 阅读 · 0 评论 -
2018.11.18 bzoj2194: 快速傅立叶之二(fft)
传送门 模板题。 将bbb序列反过来然后上fftfftfft搞定。 代码: #include<bits/stdc++.h> #define ri register int using namespace std; inline int read(){ int ans=0; char ch=getchar(); while(!isdigit(ch))ch=getchar(); w...原创 2018-11-18 21:42:13 · 171 阅读 · 0 评论 -
2018.11.14 uoj#34. 多项式乘法(fft)
传送门 NOIpNOIpNOIp爆炸不能阻止我搞oioioi的决心 信息技术课进行一点康复训练。 fftfftfft板题。 代码: #include&amp;amp;lt;bits/stdc++.h&amp;amp;gt; using namespace std; inline int read(){ int ans=0; char ch=getchar(); while(!isdigit(ch))ch=getchar()...原创 2018-11-14 12:17:18 · 222 阅读 · 0 评论 -
洛谷P4723 【模板】线性递推(多项式取模+快速幂)
传送门 解析见这篇博客 代码: #include<bits/stdc++.h> #define ri register int using namespace std; const int rlen=1<<18|1; inline char gc(){ static char buf[rlen],*ib,*ob; (ib==ob)&&(ob=(ib=bu...原创 2019-08-07 22:10:36 · 354 阅读 · 0 评论
分享