NTT 分类: templates 2015-...
2015-08-11 23:34
309 查看
原文链接:https://www.geek-share.com/detail/2650307240.html
我觉得我还需要理解一下 FFT 和 NTT …
#include <cstdio> #include <cstdlib> #include <iostream> #include <algorithm> const int maxn = 4e4+5, Mod = 950009857; const int G = 7; int n, m, k, N = 1; long long g[maxn], invN; long long f[maxn], c[maxn]; long long p[maxn]; long long power(long long x,int t) { long long ret = 1; while(t) { if(t&1) ret *= x, ret %= Mod; x *= x, x %= Mod, t >>= 1; } return ret; } void PreWork() { while(N <= (n<<1)) N <<= 1; invN = power(N, Mod - 2); g[0] = g = 1, g[1] = power(G, (Mod-1)/N); for(int i = 2; i < N; i++) g[i] = g[i-1] * g[1] % Mod; } void NTT(long long a[],int len,int flag) { for(int i = 0; i < len; i++) { int s = i, p = 0; for(int j = len>>1; j > 0; j >>= 1) p |= (s&1)*j, s >>= 1; if(p > i) std::swap(a[p]版权声明:本文为博主原创文章,未经博主允许不得转载。, a[i]); } for(int L = 2 ; L <= len; L <<= 1) for(int i = 0; i < len ; i += L) for(int j = 0; j < (L>>1); j++) { long long w = (flag == 1)?g[N/L*j]:g[N - N/L*j]; long long u = a[i + j], v = a[i + j +(L>>1)]*w % Mod; u += v, v = u - (v<<1), a[i + j] = u % Mod; a[i + j +(L>>1)] = (v + Mod) % Mod; } if(flag == -1) for(int i = 0; i < len; i++) a[i] = a[i] * invN % Mod; }
转载于:https://www.cnblogs.com/dashgua/p/4722941.html
相关文章推荐
- NTT 分类: templates 2015-08-11 23:34 3人阅读 评论(0) 收藏
- 山东理工大学第七届ACM校赛-最大收益问题 分类: 比赛 2015-06-26 10:25 51人阅读 评论(0) 收藏
- hadoop容灾能力测试 分类: A1_HADOOP 2015-03-02 09:38 291人阅读 评论(0) 收藏
- bzoj 3992: [SDOI2015]序列统计 (NTT+快速幂+DP)
- SDOI2015 序列统计 NTT+原根+快速幂
- bzoj 3992: [SDOI2015]序列统计 NTT
- Cocos2d-x事件分发机制学习笔记 分类: cocos2d代码编写 2015-07-27 18:02 6人阅读 评论(0) 收藏
- Travel hnoi省选集训 分类: templates 2015-03-31 22:06 46人阅读 评论(0) 收藏
- Android使用蓝牙与PC端进行通信 分类: Android 2015-07-30 09:45 15人阅读 评论(0) 收藏
- [BZOJ3992][SDOI2015]序列统计(DP+原根+NTT)
- 【从0到1学Web前端】CSS定位问题二(float和display的使用) 分类: HTML+CSS 2015-05-28 22:03 812人阅读 评论(1) 收藏
- 第十二届浙江省大学生程序设计大赛-Ace of Aces 分类: 比赛 2015-06-26 14:25 12人阅读 评论(0) 收藏
- 图像处理------简单数字水印 - 文字轧花效果 分类: 视频图像处理 2015-07-24 09:37 24人阅读 评论(0) 收藏
- [BZOJ3992] [SDOI2015] [NTT] 序列统计
- BZOJ 3992 [SDOI2015]序列统计 NTT
- cogs 2287. [HZOI 2015]疯狂的机器人 (NTT优化DP)
- 【原创】互斥锁使用分析 分类: Linux --- 应用程序设计 2015-07-22 11:57 6人阅读 评论(0) 收藏
- [BZOJ3992][SDOI2015]序列统计(dp+NTT+快速幂)
- 2015-03 月份学习总结 分类: 学习总结 2015-04-01 20:25 88人阅读 评论(0) 收藏
- bzoj4086 [Sdoi2015]travel(分类讨论+容斥原理)