https://codeforces.com/contest/1300/problem/C


和昨晚这场的div2的B有异曲同工之妙。

思路:对每一个数位进行二进制位数的考虑。

f(x,y)=(x|y)−y

1 1 0 0

1 0 1  0

可以发现,只有在出现了x出现了一次1的时候,这个时候的位才不是0,不然其他三个情况这一位都是0.那么贪心去考虑哪个数字的最高位只出现了一次零。O(32n)枚举即可。

#include<iostream>
#include<vector>
#include<queue>
#include<cstring>
#include<cmath>
#include<map>
#include<set>
#include<cstdio>
#include<algorithm>
#define debug(a) cout<<#a<<"="<<a<<endl;
using namespace std;
const int maxn=1e5+100;
typedef long long LL;
LL a[maxn],b[40];
LL n;
void solve(LL x)
{swap(a[1],a[x]);for(LL i=1;i<=n;i++) cout<<a[i]<<" ";cout<<endl;
}
int main(void)
{cin.tie(0);std::ios::sync_with_stdio(false);cin>>n;for(LL i=1;i<=n;i++) cin>>a[i];for(LL i=32;i>=1;i--){for(LL j=1;j<=n;j++){if(a[j]&(1<<(i-1))) b[i]++;    }}for(LL i=32;i>=1;i--){if(b[i]!=1) continue;for(LL j=1;j<=n;j++){if(a[j]&(1<<(i-1))){solve(j);return 0;   }   }}solve(1);
return 0;
}

C. Anu Has a Function(思维+位运算+贪心)相关推荐

  1. CH - 0104 起床困难综合症(位运算+贪心)

    题目链接:点击查看 题目大意:我们需要构造一个初始值start,范围在[0,m],要求使用这个初始值进行k次操作后得到的答案最大,每次操作分为三个类型: AND x:让当前答案与x进行按位与 OR x ...

  2. 贪心 ---- C. Anu Has a Function位运算+贪心证明

    题目链接 有一种操作f(x,y)=(x∣y)−yf(x,y)=(x|y)−yf(x,y)=(x∣y)−y,给你一个序列a1,a2,...,an.a1,a2,...,an.a1,a2,...,an. 让 ...

  3. CodeForces - 1312C Adding Powers(思维+位运算)

    题目链接:点击查看 题目大意:给出大小为 n 的一个数组 a 和一个数字 K,每个位置起始时为 0 ,现在从 i = 0 开始递增,我们能够进行如下操作: 选取 pos ∈ [ 1 , n ] 作为数 ...

  4. 牛客网Chino with Expectation【思维+位运算】

    Chino的数学很差,因此Cocoa非常担心.这一天,Cocoa准备教Chino学习异或. 众所周知,,即"异或"表示了和的二进制按位异或的结果(在C/C++中,表示了异或运算.) ...

  5. 牛客 - 小V的序列(思维+位运算)

    题目链接:点击查看 题目大意:给出一个均匀分布,长度为 n 的数列,再给出 m 次询问,每次询问给出一个 y ,询问数列中是否存在 x 与 y 相似,相似的定义如下: x,y相似当且仅当x xor y ...

  6. POJ - 2965 The Pilots Brothers' refrigerator(bfs+路径输出/思维+位运算)

    题目链接:点击查看 题目大意:给出一个4*4的矩阵,每个点都代表一个开关,'+'代表关,'-'代表开,每次操作可以任意改变一个开关(x,y)的状态,但代价是x行和y列的开关都要一起改变状态,题目要求将 ...

  7. CodeForces - 1174D Ehab and the Expected XOR Problem(构造+思维+位运算)

    题目链接:点击查看 题目大意:给出一个 n,再给出一个 x,要求构造一个数列,满足该数列的所有子串的异或和都不等于 0 且都不等于 x,在满足上面的条件下尽可能长 题目分析:因为这个题目最终的目标是需 ...

  8. CodeForces - 1368D AND, OR and square sum(位运算+贪心)

    题目链接:点击查看 题目大意:给出 n 个数组成的序列 a ,现在可以进行的操作是,任选两个下标 i 和 j ,满足 i != j ,使得: 设 x = a[ i ] , y = a[ j ] a[ ...

  9. jzoj4274-终章-剑之魂【位运算,贪心】

    正题 大意 有n把剑,每一把剑有一个值aiaia_i,然后两把剑的契合值是ai and ajaiandaja_i\ and \ a_j,求最大契合值. 解题思路 先把每个a转换成二进制 我们可以先从高 ...

最新文章

  1. ui动效 unity_Unity - UIWidgets 2. 控件组合
  2. 李飞飞最新论文:用算法判断政治倾向(附论文链接)
  3. 如果要将对象用作Map中的key,需要注意什么
  4. linux mongodb开机启动脚本,Linux下设置MongoDB开机自启动
  5. 医疗影像网络PACS系统方案
  6. ECCV 2018论文解读 | DeepVS:基于深度学习的视频显著性方法
  7. 7-43 字符串关键字的散列映射 (25 分)(思路+详解+不懂的兄弟们来呀)兄弟们我干了5个小时,一个一个测试点过的
  8. P4103-[HEOI2014]大工程【虚树,dp】
  9. 面试题(C++09:Autodesk)
  10. 在Matlab2006a中如何创建.net组件
  11. ff14拆区后哪个服务器人最多,FF14拆区可以转服吗 拆区期间转服教程
  12. C++ lower_bound和upper_bound的区别
  13. gzip解压str python_有哪些你不知道的Python小工具
  14. Bresenham画线算法详解及其OpenGL编程实现
  15. svn指定版本代码对比的方法
  16. 图书行业的两个术语:实洋、码洋
  17. 《星际争霸》怀念星际历史上最强的队伍系列二
  18. 朱松纯教授:可解释性是人工智能获得人类信任的关键
  19. 几款科学计算显卡对比(GTX Titan X、GTX 980、Tesla K40 K80 及quadro K4200) 科学计算显卡的两个主要性能指标: 1、CUDA compute capabili
  20. 基于SSM的医院医疗管理系统的设计与实现

热门文章

  1. 快乐打小鸟游戏的开发
  2. 《人工智能》之《绪论》习题解析
  3. 主机映射(域名与ip之间映射)
  4. java 体检套餐_体检套餐管理系统的综合版
  5. 数据库外键references的用法
  6. 全球首个TD-LTE演示网今日上海正式开通,金山瑞星同日发布“云安全”产品(每日关注:20100415)...
  7. 便便之旅,了解和关注便便
  8. python制作电子相册的软件_请问:制作电子相册的这个软件是不是不支持试用呢?...
  9. 大数据分析所需要的十大技术
  10. 小学计算机教师试讲ppt,教师试讲面试10分钟ppt.ppt