CodeForces 165E Compatible Numbers
生活随笔
收集整理的這篇文章主要介紹了
CodeForces 165E Compatible Numbers
小編覺得挺不錯的,現在分享給大家,幫大家做個參考.
題意:給n個數,找出與之對應取 & 等于 0的最小值
逆推 由1 << 22 -1 遞推到0 ? ??
題解:http://blog.csdn.net/nyist_zxp/article/details/40020349?
#include<cstdio> #include<cstring> #include<iostream> #include<algorithm> using namespace std; const int M = (1<<22) - 1; int dp[M+5]; int a[M+5]; int main(){int n;while(cin >> n){memset(dp,0,sizeof(dp));for(int i = 0;i < n;i++){cin >> a[i];dp[a[i]^M] = a[i];}for(int i = M;i >= 0;i--){if(!dp[i]){for(int j = 0;j < 22;j++){if(dp[i|(1<<j)]){dp[i] = dp[i|(1<<j)];}}}}for(int i = 0;i < n;i++){if(dp[a[i]]) {if(i)cout << " " << dp[a[i]];else cout << dp[a[i]];}else{if(i)cout << " " << "-1";else cout << "-1";}}cout << endl;} }總結
以上是生活随笔為你收集整理的CodeForces 165E Compatible Numbers的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 托管式服务网格:多种类型计算服务统一管理
- 下一篇: 修改Yarn的全局安装和缓存位置