随笔分类 -  多项式 -- FFT/NTT

该文被密码保护。
posted @ 2019-03-15 20:45 guapisolo 阅读(12) 评论(0) 推荐(0)
该文被密码保护。
posted @ 2019-02-18 22:59 guapisolo 阅读(17) 评论(0) 推荐(0)
摘要:题目传送门 matthew99神犇的题解讲得非常清楚明白,跪烂Orzzzzzzzzzzzzz 总结一下,本题有很多重要的突破口 1.Lucas定理 看到n,m特别大但模数特别小时,容易想到$lucas$定理 $C_{n}^{m}=C_{n/p}^{m/p}\cdot C_{n\;mod\;p}^{m 阅读全文
posted @ 2019-02-08 20:31 guapisolo 阅读(425) 评论(0) 推荐(0)
摘要:题目传送门 题目大意:有$n$个小岛,每个小岛上有$a_{i}$个城市,同一个小岛上的城市互相连接形成一个完全图,第$i$个小岛的第$a_{i}$个城市和第$i+1$个小岛的第$1$个城市连接,特别地,第$n$个小岛的第$a_{n}$个城市和第$1$个小岛的第$1$个城市连接。现在要断掉图中的一些边 阅读全文
posted @ 2019-02-07 14:36 guapisolo 阅读(292) 评论(0) 推荐(0)
摘要:题面传送门 题目大意: 假设现在有一个排列,每个数和在它右面第一个比它大的数连一条无向边,会形成很多联通块。 定义一个联通块的权值为:联通块内元素数量的平方。 定义一个排列的权值为:每个联通块的权值之积 求长度为$n$所有排列的权值之和,$n\leq 1e5$,$1e4$组询问 原题面描述不清楚啊. 阅读全文
posted @ 2019-02-06 22:35 guapisolo 阅读(300) 评论(0) 推荐(0)
摘要:题面:vjudge传送门 ZOJ传送门 题目大意:给你一个排列,如果两个数构成了逆序对,就在他们之间连一条无向边,这样很多数会构成一个联通块。现在给出联通块内点的编号,求所有可能的排列数 推来推去容易发现性质,同一联通块内的点一定是连续标号的,否则无解 然后我就不会了 好神的$NTT$优化$DP$啊 阅读全文
posted @ 2019-02-06 19:00 guapisolo 阅读(334) 评论(0) 推荐(0)
摘要:题目传送门 题目大意:给你两个只包含A,G,C,T的字符串$S$,$T$,$S$长$T$短,按照如下图方式匹配 解释不明白直接上图 能容错的距离不超过$K$,求能$T$被匹配上的次数 $S$串同一个位置可以被$T$的不同位置匹配多次 对4种字符分别处理,假设我们现在只讨论字符A 对于字符串AGCAA 阅读全文
posted @ 2019-02-06 16:12 guapisolo 阅读(296) 评论(0) 推荐(0)
摘要:题面传送门 题目大意:给你两个$01$串$a$和$b$,每$8$个字符为$1$组,每组的最后一个字符可以在$01$之间转换,求$b$成为$a$的一个子串所需的最少转换次数,以及此时是从哪开始匹配的。 FFT怎么变成字符串算法了 每组的前$7$个字符是不能动的,所以把它压成一个数,用$kmp$求出$b 阅读全文
posted @ 2019-02-06 11:59 guapisolo 阅读(310) 评论(0) 推荐(0)
摘要:题面传送门 题目大意:给你一张网格,上面有很多骑士,每个骑士能横着竖着斜着攻击一条直线上的格子,求没被攻击的格子的数量总和 好神奇的卷积 假设骑士不能斜着攻击 那么答案就是没被攻击的 行数*列数 接下来考虑斜着攻击对答案的贡献 以左下角为坐标原点建立坐标系,发现一条对角线的点的$(x+y)$坐标是相 阅读全文
posted @ 2019-02-06 10:26 guapisolo 阅读(231) 评论(0) 推荐(0)
摘要:题目传送门 题目大意:给你一个长度为$n$的自然数序列$a$,定义一段区间的权值为这一段区间里所有数的和,分别输出权值为$[0,\sum a_{i}]$的区间的长度之和 想到了生成函数的话,这道题并不难做。但很多细节真是不太好搞 我们首先预处理出前缀和s,那么一段区间$[l,r]$的权值就是$s_{ 阅读全文
posted @ 2019-02-05 21:50 guapisolo 阅读(217) 评论(0) 推荐(0)
摘要:题面传送门 题目大意:给你互不相同的$n$个数,在其中任选$1$~$3$个数,不能重复选数,设它们的和为$S$。对于所有可能的$S$,求选出的数和为$S$方案总数,选数没有顺序。 先对所有的数弄一个生成函数$A$,有数的位置权值为$1$ 如果我们要选$x$个数,求方案数。只需要对$A$求$x$次卷积 阅读全文
posted @ 2019-02-01 11:00 guapisolo 阅读(163) 评论(0) 推荐(0)
摘要:多项式乘法: 然而蒟蒻的我并不会证明 $FFT$: 1 struct cp{ 2 dd x,y; 3 friend cp operator + (const cp &s1,const cp &s2){ return (cp){s1.x+s2.x,s1.y+s2.y}; } 4 friend cp o 阅读全文
posted @ 2019-01-28 21:16 guapisolo 阅读(207) 评论(0) 推荐(0)
摘要:题面: BZOJ传送门 洛谷传送门 题目要求我们求一个序列的回文子序列数量 可以用$FFT$搞定 对于每种字符单独处理,以小写字母$a$为例 把$a$所在的所有位置设为$1$,反之设为$0$ 卷积一下,会发现位置i卷出来的积就可能作为以$i/2$为中心的回文子序列的一个位置,设这个值为$x$ 那么以 阅读全文
posted @ 2019-01-25 21:02 guapisolo 阅读(152) 评论(0) 推荐(0)
摘要:题面: 洛谷传送门 BZOJ传送门 题目大意:求$F[i]=\sum\limits_{j<i}\frac{q_{j}}{(i-j)^2}-\sum\limits_{j>i}\frac{q_{j}}{(i-j)^2}$ 写的第一道不是板子的$FFT$题..然而并没有想出来 原式其实是一个类似于卷积的形 阅读全文
posted @ 2019-01-22 14:43 guapisolo 阅读(170) 评论(3) 推荐(0)
摘要:题目要我们求$f[i]=\sum\limits_{j=1}^{i}f[i-j]g[j]\;mod\;998244353$ 直接上$NTT$肯定是不行的,我们不能利用尚未求得的项卷积 所以要用$CDQ$分治,先递归$[l,mid]$,然后处理$[l,mid]$对$[mid+1,r]$的影响,再递归$[ 阅读全文
posted @ 2019-01-21 19:39 guapisolo 阅读(837) 评论(0) 推荐(0)
摘要:NTT裸模板,没什么好解释的 这种高深算法其实也没那么必要知道原理 阅读全文
posted @ 2018-09-24 22:41 guapisolo 阅读(356) 评论(0) 推荐(0)
摘要:FFT模板,原理不难,优质讲解很多,但证明很难看太不懂 这模板题在bzoj竟然是土豪题,服了 阅读全文
posted @ 2018-09-24 22:40 guapisolo 阅读(156) 评论(0) 推荐(0)