[FWT] 51Nod 算法马拉松26 A A国的贸易
来源:互联网 发布:centos搭建lnmp 编辑:程序博客网 时间:2024/06/06 15:01
相当于每次每个点会变成自己和与自己相差一个二进制位的数的和
直接FWT 快速幂
#include<cstdio>#include<cstdlib>#include<algorithm>using namespace std;typedef long long ll;inline char nc(){ static char buf[100000],*p1=buf,*p2=buf; return p1==p2&&(p2=(p1=buf)+fread(buf,1,100000,stdin),p1==p2)?EOF:*p1++;}inline void read(int &x){ char c=nc(),b=1; for (;!(c>='0' && c<='9');c=nc()) if (c=='-') b=-1; for (x=0;c>='0' && c<='9';x=x*10+c-'0',c=nc()); x*=b;}inline void write(int x){ if (x>=10) write(x/10); putchar(x%10+'0');}const int N=1<<20;const int P=1e9+7;const int INV2=(P+1)>>1;inline ll Pow(ll a,int b){ ll ret=1; for (;b;b>>=1,a=a*a%P) if (b&1) ret=ret*a%P; return ret;}int n,t;int a[N],b[N];inline void FWT(int *a,int n,int r){ for (int i=1;i<n;i<<=1) for (int j=0;j<n;j+=(i<<1)) for (int k=0;k<i;k++){ int x=a[j+k],y=a[j+k+i]; if (r) a[j+k]=(x+y)%P,a[j+k+i]=(x+P-y)%P; else a[j+k]=(ll)(x+y)*INV2%P,a[j+k+i]=(ll)(x+P-y)*INV2%P; }}int main(){ freopen("t.in","r",stdin); freopen("t.out","w",stdout); read(n); read(t); for (int i=0;i<(1<<n);i++) read(a[i]); for (int i=0;i<n;i++) b[1<<i]=1; b[0]=1; FWT(a,1<<n,1); FWT(b,1<<n,1); for (int i=0;i<(1<<n);i++) a[i]=a[i]*Pow(b[i],t)%P; FWT(a,1<<n,0); for (int i=0;i<(1<<n);i++) write(a[i]),putchar(' '); return 0;}
阅读全文
0 0
- [FWT] 51Nod 算法马拉松26 A A国的贸易
- [FWT] 51nod 算法马拉松26 A. A国的贸易
- [51nod1773][A国的贸易][fwt]解题报告
- 51Nod-1773-A国的贸易
- 51nod 算法马拉松19 A P1674
- 【51nod 算法马拉松19 A】区间的价值 V2
- 51nod 算法马拉松3 A:序列分解
- 51nod 算法马拉松11 A 翻硬币
- 【51Nod算法马拉松18 A】染色问题
- [状态压缩||折半搜索]51nod 算法马拉松3 A
- [暴力 乱搞] 51Nod 1674 算法马拉松19 A 区间的价值 V2
- 51NOD算法马拉松21(迎新年) A - 1737 配对(dfs树的重心)
- 51Nod-算法马拉松13-A-取余最长路
- [排列组合 + 分段打表] 51nod 算法马拉松25 A. 二分答案
- [分治] 51nod算法马拉松27 A.合法括号子段
- 51nod 算法马拉松30 A.函数【容斥】【组合数学】
- 51nod 算法马拉松12
- 51nod算法马拉松20
- 如何利用迅捷PDF编辑器在PDF文档上修改文字大小和颜色
- CHID
- java io 字节流 字符流
- bootstrap常用的类名
- shell编程(一)--入门
- [FWT] 51Nod 算法马拉松26 A A国的贸易
- Maven Setting.xml文件配置详细说明
- DAY32继承组合应用、对象序列化和反序列化,选课系统综合示例
- 手把手教你实现一个无限循环的轮播控件
- 树状分词法
- Luogu 单词接龙
- C++ 多线程 火车站售票
- Predefined Shader preprocessor macros //预定义的着色器预处理宏
- spring读取jdbc.properties出现的问题