FFT NTT FWT等线性变换
文章平均质量分 87
cervoliu
这个作者很懒,什么都没留下…
展开
-
【ZJOI2014】力
Description给出nn个数qiq_i,给出FjF_j的定义如下 Fj=∑i<jqi(i−j)2−∑i>jqi(i−j)2F_j=\sum_{i<j}\frac{q_i}{(i-j)^2}-\sum_{i>j}\frac{q_i}{(i-j)^2} 试求FF n≤105,0<qi<109n≤10^5,0< qi <10^9Analysis求和式减号前后两部分非常相似,只考虑求前者 Fi原创 2017-10-21 19:25:07 · 291 阅读 · 0 评论 -
【srm603】Sum Of Arrays
Description给定两个长度都为N的数列A,B,A,B内部元素可以以任意顺序排列 令Ci=Ai+BiC_i=A_i+B_i 求所有排列方案中,使得CC中的众数的出现次数最多是多少,输出最多的出现次数以及这个众数(如有多个取较大者) 3原创 2017-12-08 12:27:08 · 352 阅读 · 0 评论 -
实系数多项式卷积 DFT的优化
如果要计算C(x)=A(x)B(x)C(x)=A(x)B(x)C(x)=A(x)B(x),通常的做法是对A,BA,BA,B各做一次DFT,各处点值相乘后再做一次逆DFT 但是这样做了三次DFT,在某些丧心病狂的题目中可能会被卡常 但是如果A(x),B(x)A(x),B(x)A(x),B(x)的系数都是实数,可以只做两次DFT方法一从毛爷论文上搬的 令P(x)=A(x)+iB(x)...原创 2018-01-21 22:04:38 · 601 阅读 · 0 评论 -
多项式相关
相知恨晚 从多项式乘法到快速傅里叶变换 FFT用到的各种素数 实序列离散傅里叶变换的快速算法 多项式求逆元 多项式除法及求模 多项式的多点求值与快速插值 牛顿迭代法在多项式运算的应用 特殊多项式在整点上的线性插值方法 Fast Walsh-Hadamard Transform——快速沃尔什变换...转载 2017-10-20 21:13:30 · 614 阅读 · 0 评论 -
FFT&NTT模板
一开始抄了jiry_2的板子,直到有一天,我被卡精度了 下定决心弄一个永久的板子,四处借鉴写法 单位复数根还是预处理的好 尽量避免乘法,伤精度FFT UOJ#34#include#include#include#include#define fo(i,a,b) for(int i=a;i#define fd(i,b,a) for(int i=b;i>=a;i--)#d原创 2017-12-29 22:00:17 · 374 阅读 · 2 评论 -
【WC2018】州区划分
Description原题链接部分分容易想到O(3n)O(3n)O(3^n)的子集DP fs=∑t⊆sft∗gs−tfs=∑t⊆sft∗gs−tf_s=\sum_{t⊆s}f_t*g_{s-t} 做完了fsfsf_s之后还要让fs=fs∗invsfs=fs∗invsf_s=f_s*inv_s100%发现上面那个方程就是一个子集卷积,只不过会自己卷自己的。 回顾子集卷积...原创 2018-03-07 22:42:37 · 899 阅读 · 0 评论 -
【CodeForces 662C】Binary Table
Description给定一个n*m的01矩阵,可以任意对整行、整列进行异或操作。可以操作任意次。问最后矩阵中最少有多少个1 n&lt;=20,m&lt;=10^5Analysis发现n很小,小到我们可以枚举出行的全部操作状态,且可以将一列看成一个整数。那么只需要快速求出在次状态下列的贡献和。 设cscsc_s为状态为sss时的答案,那么如果令axaxa_x为初始矩阵中列的值为...原创 2018-03-04 15:41:25 · 367 阅读 · 0 评论 -
【子集卷积】【51nod 1824】染色游戏
Description原题链接 有 n 个红球, m 个蓝球,从中取出 x 个红球和 y 个蓝球排成一排的得分是 rx⋅by ,其中 r0=b0=1 。 定义 f(t) 表示恰好取出 t 个球排成一排的所有可能局面的得分之和。 两个局面相同,当且仅当这两排球的个数相等,且在对应列位置上的颜色都是相同的。 小Q想知道,有多少 t (1≤t≤n+m) 使得 f(t) 是奇数,你能告诉他满足...原创 2018-03-06 16:11:20 · 438 阅读 · 0 评论 -
任意模数FFT & 第一类斯特林数模板
JZOJ 5688#include&lt;cstdio&gt;#include&lt;cstring&gt;#include&lt;algorithm&gt;#include&lt;cmath&gt;#define fo(i,a,b) for(int i=a;i&lt;=b;++i)#define fd(i,a,b) for(int i=a;i&原创 2019-01-17 17:52:20 · 313 阅读 · 0 评论