FFT
hanyuweining
明日はきっと 明日はきっと 仆が世界の中心なので
展开
-
BZOJ3527 ZJOI2014 力
传送门FFT复健中。。。把柿子拆开 两边分别变成q卷g g是1/i^2就可以了(第二个把q翻转就好了)菜到这个都想不出(附代码。FFT学习笔记先等我鸽着吧#include<cstdio>#include<cstring>#include<algorithm>#include<cmath>#include<com...原创 2018-12-06 11:47:37 · 120 阅读 · 0 评论 -
BZOJ4503 两个串
没有传送门 因为是权限题 =.=利用卷积来做字符串匹配问题= =+如果我们现在有两个串 单纯要匹配它们我们可以怎么做呢?很明显是不可以的因为可能出现这种情况aabbbbaa两个部分抵消掉了=.=我们如何处理这样的问题呢?平方!这样子就好多了qwq然后我们来处理通配符 通配符设为0然后乘上去就可以啦qwq是不是非常优秀 = =+然后我们回归原题...原创 2018-12-26 15:36:10 · 167 阅读 · 0 评论 -
BZOJ4259 残缺的字符串
没有传送门 = =跟上一个题一样 请戳链接唯一的变化就是柿子稍微一改然后没啥了注意翻转的位置要改。。。所以不如翻那个不需要改的= =+#include<cstdio>#include<cstring>#include<algorithm>#include<cmath>#include<vector>#d...原创 2018-12-26 16:01:49 · 282 阅读 · 0 评论 -
【学习笔记】之多项式使人头秃
真的自闭= =多项式是什么鬼哦 首先 介绍 FFT我才不想写那么多柿子呢大体说一下FFT干了啥我们对两个多项式进行卷积(即多项式乘法) 也就是 暴力计算的话是n^2的我们考虑把它变成点值[即(x,y)表示f(x)=y] 点值相乘就快了嘛 但是变成点值了以后咋变回来呢有个叫傅里叶的nb的人 他发明了一个nb的东西叫傅里叶变换= =也就是通过 虚数中的单位根...原创 2018-12-10 11:40:14 · 361 阅读 · 0 评论 -
洛谷4721 【模板】分治 FFT
传送门久违的多项式全家桶= =+分治NTT 用的就是cdq分治的思想 对于当前递归到的区间[l,r] 我们处理出[l,mid]对[mid+1,r]答案的贡献然后分治递归求解就可以啦qwq这个贡献是前一半卷积的答案加过去就可以啦对于x的贡献附代码。#include<cstdio>#include<cmath>#include<algor...原创 2018-12-22 18:36:32 · 171 阅读 · 0 评论 -
BZOJ3160 万径人踪灭
传送门FFT好题~我们观察一波性质 首先 回文的子序列一定是 j+k=i 其中j和k分别是两个下标 然后i是固定的这玩意看起来是不是就很像卷积= =+我们要求的是f[i]就是固定值是i的时候两侧的相同字符对数然后呢 我们分别把a和b做一遍a就是把一个位置上是a的赋成1然后FFT自乘 b同理a,b对应系数相加就得到了f[i]求答案就是枚举所有i求2^f[i]-1但...原创 2018-12-24 19:58:07 · 131 阅读 · 0 评论 -
HDU 4609 3-idiots
传送门问给定n条小木棍 随机选3根构成三角形的概率看起来和多项式没啥关系对不对 = =但实际上它的确可以用多项式来做qaq我们构造多项式然后自乘一下就能得到两根木棍拼起来的方案数然后枚举所有拼出来的长度 算一下>=这个长度的木棍个数求出不能拼成三角形的方案数然后最后用减一减 除一除就可以了qwq【注意sum的预处理范围是两倍权值T^T】附代码。#...原创 2018-12-25 08:00:59 · 130 阅读 · 0 评论 -
洛谷3321 SDOI2015 序列统计
懒得放传送【大雾有趣的一道题前几天刚好听到Creed_神犇讲到相乘转原根变成卷积的形式看到这道题当然就会做了啊w对于m很小 我们暴力找原根 如果你不会找原根的话 出门左转百度qwq找到原根以后所有数转成原根的幂次然后卷积就吼了啊多项式卡速米 由于是循环卷积所以每一次还要转回系数相加再转回来所以是不优美的O(nlg^2n) =v=代码在这里。//Love and...原创 2019-01-05 10:17:50 · 230 阅读 · 0 评论 -
BZOJ3625 CF438E 小朋友与二叉树
心态崩了 不放传送门了 辣鸡bz还是正经一点写一下题解= =就是显然我们可以把权值写成生成函数形式g(0/1序列)来表示权值是否出现然后f来表示总的方案数可以列出 分别枚举左右子树和空树的情况然后解方程得到显然开根开出来常数项是1 而g不带常数项 那么就必须取-才能保证除法有效然后为了计算方便我们把柿子写成(平方差上下同乘)然后就是多项式开根和多项式求逆了多项式...原创 2019-01-02 11:35:44 · 162 阅读 · 0 评论