随笔分类 -  FFT & 多项式

摘要:"2287. [HZOI 2015]疯狂的机器人" 题意:从原点出发,走n次,每次上下左右不动,只能在第一象限,最后回到原点方案数 这不煞笔提,组合数写出来发现卷积NTT,然后没考虑第一象限gg 其实就是 "卡特兰数" 只不过这里$C(i)$是第$\frac{i}{2}$项,奇数为0 令$f[n]$ 阅读全文
posted @ 2017-03-30 21:48 Candy? 阅读(634) 评论(1) 推荐(0) 编辑
摘要:"4259: 残缺的字符串" 题意:s,t,星号任意字符,匹配方案数 和上题一样 多乘上一个$a_{j+i}$就行了 cpp include include include include include using namespace std; typedef long long ll; cons 阅读全文
posted @ 2017-03-30 21:48 Candy? 阅读(296) 评论(0) 推荐(0) 编辑
摘要:"4503: 两个串" 题意:兔子们在玩两个串的游戏。给定两个只含小写字母的字符串S和T,兔子们想知道T在S中出现了几次, 分别在哪些位置出现。注意T中可能有“?”字符,这个字符可以匹配任何字符。 ~~为什么智障游戏总要让兔子来玩~~ 受到上题影响,直接每个字符算一遍最后加上?的个数,26倍常数完美 阅读全文
posted @ 2017-03-30 21:47 Candy? 阅读(1178) 评论(2) 推荐(1) 编辑
摘要:快速傅里叶变换 & 快速数论变换 [update 3.29.2017] 前言 2月10日初学,记得那时好像是正月十五放假那一天 当时写了 "手写版的笔记" ~~过去近50天差不多忘光了~~,于是复习一下,具体请看手写版笔记 参考文献: "picks" "miskcoo" "menci" "阮一峰" 阅读全文
posted @ 2017-03-30 21:46 Candy? 阅读(7422) 评论(0) 推荐(1) 编辑
摘要:"CF528D. Fuzzy Search" 题意:DNA序列,在母串s中匹配模式串t,对于s中每个位置i,只要s[i k]到s[i+k]中有c就认为匹配了c。求有多少个位置匹配了t 预处理$f[i][j]$表示位置i可以匹配字符j 分别考虑每一个字符c,对s的每个位置i求出用$s[i,i+m 1] 阅读全文
posted @ 2017-03-30 21:46 Candy? 阅读(902) 评论(0) 推荐(0) 编辑
摘要:题意: 求出n个点的简单(无重边无自环)无向连通图数目.方案数mod 1004535809(479 * 2 ^ 21 + 1)即可. n<=130000 DP求方案 g(n) n个点所有图的方案数 显然2C(n,2)=2n(n-1) f(n) n个点连通图的方案数 然后枚举第一个点所在连通块的点数 阅读全文
posted @ 2017-02-13 14:23 Candy? 阅读(1288) 评论(0) 推荐(0) 编辑
摘要:3992: [SDOI2015]序列统计 Description 小C有一个集合S,里面的元素都是小于M的非负整数。他用程序编写了一个数列生成器,可以生成一个长度为N的数列,数列中的每个数都属于集合S。 小C用这个生成器生成了许多这样的数列。但是小C有一个问题需要你的帮助:给定整数x,求所有可以生成 阅读全文
posted @ 2017-02-12 18:23 Candy? 阅读(780) 评论(1) 推荐(0) 编辑
摘要:题意:n个物品,可以用1/2/3个不同的物品组成不同的价值,求每种价值有多少种方案(顺序不同算一种) 【生成函数】: 构造这么一个多项式函数g(x),使得n次项系数为a[n]。 普通型生成函数用于解决多重集的组合问题 生成函数的x无实际意义 通常可以化为一个简单的式子 组合数的生成函数 A(x)=( 阅读全文
posted @ 2017-02-11 18:26 Candy? 阅读(961) 评论(0) 推荐(1) 编辑
摘要:给出n个数qi,给出Fj的定义如下: 令Ei=Fi/qi,求Ei. 给出n个数qi,给出Fj的定义如下: 令Ei=Fi/qi,求Ei. 找到一个很详细的题解:http://blog.csdn.net/qq_33929112/article/details/54590319 花了两个小时来理解和写,1 阅读全文
posted @ 2017-02-11 16:07 Candy? 阅读(695) 评论(0) 推荐(1) 编辑
摘要:题意:请计算C[k]=sigma(a[i]*b[i-k]) 其中 k < = i < n ,并且有 n < = 10 ^ 5。 a,b中的元素均为小于等于100的非负整数。 卷积 (f x g)(n)=∑{f(i)*g(n-i):i=0...n} 多项式乘法就是一个系数向量的卷积 可以用FFT快速计 阅读全文
posted @ 2017-02-11 11:54 Candy? 阅读(991) 评论(0) 推荐(1) 编辑
摘要:2179: FFT快速傅立叶 Description 给出两个n位10进制整数x和y,你需要计算x*y。 Input 第一行一个正整数n。 第二行描述一个位数为n的正整数x。 第三行描述一个位数为n的正整数y。 数据范围: n<=60000 扔个模板 注意读入字符转换成系数 系数转换成整数 #inc 阅读全文
posted @ 2017-02-10 23:24 Candy? 阅读(766) 评论(0) 推荐(0) 编辑
摘要:FFT好美啊 阅读全文
posted @ 2017-02-10 20:45 Candy? 阅读(4707) 评论(5) 推荐(1) 编辑