关闭

[数学 FFT] Codechef July Challenge 2017 #APRPS Irrational Root

跟 51Nod 1356 代数数的次数 是一样的 不过这里都是质数 也就是就是 2n2^n 关键是输方案 这个不一定有二次剩余感谢sxt 一个一个数加进答案 转化成 已知F(x)F(x),求F(x+a√)F(x+\sqrt a)和F(x−a√)F(x-\sqrt a)的系数 这个推一下就是一个FFT拷了myy的板子 自己的太慢了QAQ#include #include<cs...
阅读(216) 评论(0)

[FWT] UOJ #310. 【UNR #2】黎明前的巧克力

这是若干个 2xai+12x^{a_i}+1 的东西的卷积 然后这个FWT一下发现每一项只有 −1-1 或 33 那么卷积的FWT每一项就是若干个 −1-1 和 33 的乘积 这个不好求 直接加在一起FWT,那么我们得到了每一项 −1-1 和 33 的和 因为只有这两个取值,可以直接解方程有多少个 −1-1 和 33 然后快速幂再乘起来#include #include<...
阅读(131) 评论(0)

[FWT] 51Nod 算法马拉松26 A A国的贸易

相当于每次每个点会变成自己和与自己相差一个二进制位的数的和 直接FWT 快速幂#include #include #include using namespace std; typedef long long ll;inline char nc(){ static char buf[100000],*p1=buf,*p2=buf; r...
阅读(172) 评论(0)

[链分治 重链剖分 FWT] BZOJ 4911 [Sdoi2017]切树游戏

我链分治是从immortalCO今年论文学来的 就是一个序列上能够维护的东西,把他搬到重链上,先处理好儿子重链的答案,然后把对这条重链上的影响累加在这条重链上然后就是套路 FWT一下就能加和乘了 注意0没有逆元复杂度O(mnlog2n)O(mn\log^2n) 实际上树链剖分是跑不满的 rank1 开心 O(∩_∩)O~~#include #include #...
阅读(430) 评论(0)

[FMT 莫比乌斯变换 子集和变换] BZOJ 4036 [HAOI2015]按位或

vfk的论文题 看过组合数学 这个习称子集和变换的东西好像叫莫比乌斯变换? 那么这种变换就叫快速莫比乌斯变换 FMT? 大雾 开始推柿子 令UU表示全集 2n−12^n-1 fi,Sf_{i,S} 表示 ii 秒当前集合为 SS 的概率 gi,Sg_{i,S}为其莫比乌斯变换 gi,S=∑x⊆Sfi,xg_{i,S}=\sum_{x\subseteq S} f_{i,x} 这样 gi...
阅读(443) 评论(0)

[树形DP FWT] HDU 5909 Tree Cutting

给一个带点权的树 文有多少个连通子图的异或和为0~m-1 没什么好说吧 水题#include #include #include using namespace std; typedef long long ll;inline char nc(){ static char buf[100000],*p1=buf,*p2=buf; re...
阅读(374) 评论(0)

[FFT] BZOJ 4827 [Hnoi2017]礼物

直接把∑ai+y−bi+x\sum a_i+y-b_{i+x}展开 只有∑ai∗bi+x\sum a_i*b_{i+x}比较难求 直接FFT就好了#include #include #include using namespace std; typedef long long ll;inline char nc(){ static cha...
阅读(417) 评论(0)

[FFT || 递推] BZOJ 4451 [Cerc2015]Frightful Formula

f1,if_{1,i} 的贡献是 f1,i∗an−i∗bn−1∗Cn−i2n−i−2f_{1,i}*a^{n-i}*b^{n-1}*C_{2n-i-2}^{n-i} fi,1f_{i,1} 同理 注意 f1,1f_{1,1} 没什么卵用 然后 cc 还有贡献 c∑i=2n∑j=2nan−i∗bn−j∗Cn−i2n−i−j=c∑i=0n−2∑j=0n−2ai∗bj∗Cii+jc\sum_{i=2}...
阅读(274) 评论(0)

[FWT] BZOJ 4589 Hard Nim

FWT相关 Fast Walsh-Hadamard Transform (快速沃尔什变换)#include #include #include using namespace std; typedef long long ll;const int P=1e9+7; const int Inv=(P+1)>>1;inline ll Pow(ll...
阅读(297) 评论(0)

[快速幂 NTT + 最短路] ICPC 2016 China Final I. Cherry Pick

你有mm种面值的硬币,分别为c1,…,cmc_1,…,c_m,每种有无限张。 你去摘nn个樱桃,每个樱桃都有pp的概率摘下来。 你要要用你的硬币把你摘了的樱桃给买下来,每个樱桃需要11元钱,但是不能找钱。 问最好的情况下你期望要多花多少钱。 答案对10^9+7取模。 n<=1e9,m<=100,ci<=1e4n<=1e9, m<=100, ci<=1e4, 且若i≠ji≠j,有ci∗cj<...
阅读(265) 评论(0)

[任意模数NTT 三模数NTT] COGS 2294 [HZOI 2015] 释迦

膜拜大佬可能不敢食用myy的论文啊 只会无脑三模数NTT 拆系数FFT什么的好大啊 于是我们找三个费马质数 使得他们的乘积超过 nP2nP^2 然后就可以用CRT合并了 但是正常的合并需要写高精 实际上我们可以tricky点#include #include #include #include using names...
阅读(692) 评论(0)

[离散对数 FFT FastIO] ICPC 2016 Shenyang K & HDU 5958 New Signal Decomposition

特判0 然后将所有下标取对数 那么就是 bk′=∑ah′∗ch′+k′b_{k'}=\sum a_{h'}*c_{h'+k'} 使用FFT解决本来好好的一道题 卡常数+卡空间+卡精度?!#include #include #include #include using namespace std; typedef doubl...
阅读(305) 评论(2)

[FFT 模板题] UOJ #34 多项式乘法

主要就是想看看自己能写的多快 结果并不快#include #include #include #include using namespace std; typedef double ld;inline char nc(){ static char buf[100000],*p1=buf,*p2=buf; return p...
阅读(158) 评论(0)

[FFT] 51Nod 1028 大数乘法 V2

FFT版子题 #include #include #include #include #include #include #define PI acos(-1.0) using namespace std; typedef complex E; const int N=500005; int n,m,L; char s[N]; E a[N],b[N]; int c[N],R[N]; ...
阅读(274) 评论(0)

[FFT 压位] Hillan模拟赛 A.简单字符串匹配

前几个点么 标算给的分块FFT n^1.5 logn 我怎么打都不过 压压位开氧气卡过去 最后一个点么 把A串转过来 FFT #include #include #include #include using namespace std; typedef long long ll; inline char nc(){ static char buf[100000],*p1=bu...
阅读(232) 评论(0)

[n点无向图个数 分治FFT || 多项式求逆] BZOJ 3456 城市规划

然后就分治FFT了 #include #include #include using namespace std; typedef long long ll; inline char nc(){ static char buf[100000],*p1=buf,*p2=buf; if (p1==p2) { p2=(p1=buf)+fread(buf,1,100000,stdin)...
阅读(377) 评论(0)

[第二类斯特林数 组合 分治FFT||多项式求逆] BZOJ 4555 [Tjoi2016&Heoi2016]求和

自己好弱 多项式求逆不会啊 分治FFT也是第一次打 #include #include #include using namespace std; typedef long long ll; inline ll Pow(ll a,ll b,ll p){ ll ret=1; for (;b;(a*=a)%=p,b>>=1) if (b&1)...
阅读(478) 评论(0)

[NTT 原根 指标 多项式快速幂] BZOJ 3992 [SDOI2015]序列统计

注意到,M 是质数 乘法取个log变加法 也就是取指标 于是对于1 ~M−1 中的每一个数都可以表示成原根的某次幂。 于是乘法可以转化为原根的幂的加法, 转移的时候就相当于做多项式乘法了 然后快速幂 又是道数论好题 #include #include #include #include using namespace std; typedef long long ll;...
阅读(389) 评论(0)

[生成函数 FFT 分块] BZOJ 3509 [CodeChef] COUNTARI

学着大神优化了FFT常数:http://blog.csdn.net/geotcbrl/article/details/50636401 可以看出来这是个生成函数 暴力的话是N次FFT  然后考虑分块 B次FFT + 块内统计 #include #include #include #include #include #define cl(x) memset(x,0,sizeo...
阅读(384) 评论(0)

[生成函数 FFT] BZOJ 3771 Triple

一个生成函数,用FFT做乘法 重复的部分我们考虑用容斥原理来解决。 为了方便描述我们不妨设三个多项式。 第一个是仅取一个而构成的多项式。->x 第二个是仅取相同的两个而构成的多项式。->y 第三个是仅取相同的三个而构成的多项式。->z 对于本题有三种情况。 第一种是取一个,显然直接将x加到答案就好。 第二种是取两个,则需要一小步容斥,即(x*x-y)/2 第三种是取三个,则需...
阅读(307) 评论(0)
    个人资料
    • 访问:261085次
    • 积分:11910
    • 等级:
    • 排名:第1320名
    • 原创:969篇
    • 转载:3篇
    • 译文:0篇
    • 评论:49条
    最新评论