CodeForces 165E 【状压DP】
来源:互联网 发布:统计软件spss下载 编辑:程序博客网 时间:2024/06/07 01:35
原题链接
题意:n个正整数,对于每一个ai,是否存在aj&ai=0,若存在则输出aj否则输出-1;
脑洞题,dp[N^a[i]]=a[i];(N=1<<22-1) 往下顺推,具体看代码。
#include<cstring>#include<cstdio>#include<iostream>#include<algorithm>using namespace std;int dp[1<<22],a[1001000],c[25],n;int main(){ c[0]=1; for(int i=1;i<=23;i++) c[i]=c[i-1]<<1; while(scanf("%d",&n)!=EOF) { for(int i=1;i<=n;i++) { scanf("%d",&a[i]); dp[a[i]]=-1; } for(int i=1;i<=n;i++) dp[(c[22]-1)^a[i]]=a[i]; for(int i=c[22]-1;i>0;i--) if(dp[i]>0) { for(int j=0;j<22;j++) if(i&c[j]) { dp[i-c[j]]=dp[i]; } } for(int i=1;i<n;i++) printf("%d ",dp[a[i]]); printf("%d\n",dp[a[n]]); } return 0;}
阅读全文
1 0
- CodeForces 165E 【状压DP】
- codeforces 165E DP 数论 二进制
- Codeforces 165E Compatible Numbers 【dp】
- CodeForces 165E Compatible Numbers (dp)
- Codeforces 544E Remembering Strings 状压dp
- Codeforces 16E Fish (状压dp+概率)
- Educational Codeforces Round 13 E 状压dp
- codeforces 16E 概率+状压dp
- Codeforces 743E(二分+状压dp)
- 【dp】codeforces 83E
- codeforces-731E-dp
- Codeforces 748E dp
- Codeforces 722E [DP]
- Codeforces 416E DP
- Codeforces 678E Another Sith Tournament(状压dp,概率dp)
- codeforces 526E E. Transmitting Levels(dp)
- Codeforces 838E E. Convex Countour DP
- codeforces 215E 数位DP
- HDU 1875 畅通工程再续
- 关于android程序的测试
- 魁拔4预告片
- vijos 1417 魔法塔防
- CAP 介绍及使用【视频】
- CodeForces 165E 【状压DP】
- 视差滚动效果
- 单例模式
- css :动画
- HDU 6058 Kanade's sum(链表)
- Android滤镜绘制
- 责任链模式 | Chain of Responsibility Pattern
- 有向图(网)、无向图(网)的构造以及遍历
- cookie 以及百度统计,google analytics对cookie的使用