Processing math: 100%

随笔分类 -  数学——FFT/NTT/FWT/多项式求逆、求ln

1
摘要:https://acm.hdu.edu.cn/showproblem.php?pid=6975 题意: 给出2个串S和T,含有通配符。 若S的一个子串满足和T不匹配的位置<=k个,则认为S的这个子串与T是匹配的 对于k∈[0,|T|],回答S中有多少个子串与T匹配 解决这道问题首先要明白如何用FFT 阅读全文
posted @ 2021-08-11 18:18 TRTTG 阅读(68) 评论(0) 推荐(0) 编辑
摘要:一、最基础的字符串匹配 给出1个长为n的串S和1个长为m的串T,询问T在S中出现的位置。 这是kmp经典问题,但现在我们要用FFT解决 令 dis(Si,T)=m1k=0(Si+kTk)2dis(Si,T)=0,则S中从i开始的m个字符和T匹配, 阅读全文
posted @ 2021-08-11 14:21 TRTTG 阅读(238) 评论(0) 推荐(0) 编辑
摘要:大家快来膜呀~~~ #include<bits/stdc++.h> #define int long long const int P = 998244353; const int G = 3; using namespace std; const int N=400005; int n,f[N], 阅读全文
posted @ 2020-12-27 16:18 TRTTG 阅读(153) 评论(0) 推荐(1) 编辑
摘要:https://www.luogu.com.cn/problem/P4725 ln的导数=原多项式的导数/求逆 再积分得到多项式除去常数项的的ln 即得到的是B'(x)=a0+a1*x+a2*x^2+…… 所以B(x)=C+a0*x+a1/2*x^2+a2/3*x^3…… 还需要带入求C 这道题给出 阅读全文
posted @ 2020-12-04 19:38 TRTTG 阅读(165) 评论(0) 推荐(0) 编辑
摘要:https://www.luogu.com.cn/problem/P4238 #include<cstdio> #include<algorithm> using namespace std; #define N 300001 const int mod=998244353; const int g 阅读全文
posted @ 2020-11-30 21:07 TRTTG 阅读(133) 评论(0) 推荐(0) 编辑
摘要:https://www.lydsy.com/JudgeOnline/problem.php?id=4332 因为如果一位小朋友得不到糖果,那么在她身后的小朋友们也都得不到糖果。 所以设g[i][j] 表示前i位小朋友,分到j个糖果,且前i位小朋友都分到糖果的方案数 令F(x) 表示分到x个糖果的欢乐 阅读全文
posted @ 2018-04-27 08:33 TRTTG 阅读(338) 评论(0) 推荐(0) 编辑
摘要:求出序列的生成函数后,倍增FWT #include<cstdio> using namespace std; #define N 2048 const int mod=1e9+7; int inv; int f[N+1]; int Pow(int a,int b) { int res=1; for( 阅读全文
posted @ 2018-04-26 18:46 TRTTG 阅读(632) 评论(0) 推荐(0) 编辑
摘要:https://www.lydsy.com/JudgeOnline/problem.php?id=4589 n*m*m 做法 dp[i][j] 前i堆石子,异或和为j的方案数 第一重循环可以矩阵快速幂优化 后面求出序列的生成函数可以FWT优化 做log次FWT也很慢(logn*m*logm) 两个合 阅读全文
posted @ 2018-04-26 17:24 TRTTG 阅读(261) 评论(0) 推荐(1) 编辑
摘要:https://www.codechef.com/status/COUNTARI 题意: 给出n个数,求满足i<j<k且a[j]-a[i]==a[j]-a[k] 的三元组(i,j,k)的个数 n^2 做法: 枚举j和k,当j右移时,令sum[num[右移之前j的值]]++ 每次统计sum[num[j 阅读全文
posted @ 2018-03-31 20:47 TRTTG 阅读(241) 评论(0) 推荐(0) 编辑
摘要:https://www.lydsy.com/JudgeOnline/problem.php?id=4827 式子化简一下,发现最后只跟 Σ xi*yi 有关 第二个序列反转,就可以用FFT优化 注意: 循环会想到将序列复制一遍,但只能复制一个序列, 若n=4,第一个序列为1 2 3 4,,第二个序列 阅读全文
posted @ 2018-03-31 17:11 TRTTG 阅读(192) 评论(0) 推荐(0) 编辑
摘要:https://www.lydsy.com/JudgeOnline/problem.php?id=3160 不连续的回文串数量=所有的回文序列数量-连续的回文子串 连续的回文子串: manacher 得到的以i为中心的连续回文串数量=以i为中心的最长回文半径长度 所有的回文序列: 将a看做1,b看做 阅读全文
posted @ 2018-03-31 15:46 TRTTG 阅读(176) 评论(0) 推荐(0) 编辑
摘要:https://www.lydsy.com/JudgeOnline/problem.php?id=4259 令通配符=0 f[i+m-1]=Σ (a[i+j]-b[m-1-j])^2 * a[i+j] * b[m-1-j] 若a[i,i+m-1]能匹配上b[0,m-1],则f[i+m-1]=0 式子 阅读全文
posted @ 2018-03-31 11:03 TRTTG 阅读(179) 评论(0) 推荐(0) 编辑
摘要:NTT(快速数论变换)用到的各种素数及原根: https://blog.csdn.net/hnust_xx/article/details/76572828 NTT多项式乘法模板 阅读全文
posted @ 2018-03-25 17:19 TRTTG 阅读(403) 评论(0) 推荐(1) 编辑
摘要:http://acm.hdu.edu.cn/showproblem.php?pid=5909 题意: 给出一颗带点权的树,输出有多少联通块的点权异或和=[1,m) dp[x][i] 以x为根的子树中,联通块内一定有x,目前异或和为i 的联通块 个数 dp[x][i] = dp[x][i] + Σ Σ 阅读全文
posted @ 2018-03-18 18:00 TRTTG 阅读(231) 评论(0) 推荐(0) 编辑
摘要:http://codeforces.com/contest/662/problem/C 题意:n行m列01矩阵,每次可以反转一行或一列,问最后最少可以剩下多少个1 n只有20,把行状态压缩 操作奇数次相当于1次,操作偶数次相当于不操作 所以可以枚举对行的操作,将操作也状态压缩 A[i] 表示有多少列 阅读全文
posted @ 2018-03-18 16:26 TRTTG 阅读(437) 评论(0) 推荐(0) 编辑
摘要:http://www.lydsy.com/JudgeOnline/problem.php?id=2194 相乘两项的下标 的 差相同 那么把某一个反过来就是卷积形式 fft优化 阅读全文
posted @ 2018-03-03 21:58 TRTTG 阅读(206) 评论(0) 推荐(0) 编辑
摘要:http://www.lydsy.com/JudgeOnline/problem.php?id=3513 组成三角形的条件:a+b>c 其中,a<c,b<c 若已知 两条线段之和=i 的方案数g[i] 线段长度>i的 线段数量 t[i] 答案是否可以表示为 Σ g[i]*t[i] ? 不能,因为 有 阅读全文
posted @ 2017-12-31 08:04 TRTTG 阅读(395) 评论(0) 推荐(1) 编辑
摘要:http://www.lydsy.com/JudgeOnline/problem.php?id=3527 给出n个数qi,给出Fj的定义如下: 令Ei=Fi/qi,求Ei. 以n=4为例: 设数组a[],b[] 令c[]=a[]反转 y[]=c[]*b[] 那么E[i]=x[i]-y[n-i-1] 阅读全文
posted @ 2017-12-30 14:43 TRTTG 阅读(237) 评论(2) 推荐(0) 编辑
摘要:http://www.lydsy.com/JudgeOnline/problem.php?id=2179 FFT做高精乘 #include<cmath> #include<cstdio> #include<complex> using namespace std; #define N 60001 c 阅读全文
posted @ 2017-12-30 10:51 TRTTG 阅读(184) 评论(0) 推荐(0) 编辑
摘要:https://www.luogu.org/problem/show?pid=3803 题目背景 这是一道模版题 题目描述 给定一个n次多项式F(x),和一个m次多项式G(x)。 请求出F(x)和G(x)的卷积。 输入输出格式 输入格式: 第一行2个正整数n,m。 接下来一行n+1个数字,从低到高表 阅读全文
posted @ 2017-07-09 17:47 TRTTG 阅读(370) 评论(0) 推荐(0) 编辑

1
点击右上角即可分享
微信分享提示