codeforces 966c//Big Secret// Codeforces Round #477 (Div. 1)
题意:一个数组,重新打乱后前缀异或和递增。问这样的排列。
将所有元素按照二进制最高位分组。每次选当前前缀和sum的二进制最低的0位,再从分组中挑一个作为答案。先放首1在较低位的再放首1在较高位的总是可行的。首1都在同一位的先放哪个都是一样的。
//#pragma comment(linker,"/STACK:1024000000,1024000000") #include<iostream> #include<cstdio> #include<string> #include<cstring> #include<vector> #include<cmath> #include<queue> #include<stack> #include<map> #include<set> #include<algorithm> #include <stack> #include <bitset> using namespace std; const int SZ=100010,INF=0x7FFFFFFF; typedef long long lon; lon n,arr[SZ],ans[SZ]; vector<lon> vct[70]; lon one=1;void init() {cin>>n;for(lon i=0;i<n;++i){cin>>arr[i];for(lon j=62;j>=0;--j){if(arr[i]&(one<<j)){vct[j].push_back(arr[i]);break;}}} }bool work() {lon cur=0;for(lon i=0;i<n;++i){bool ok=0;for(lon j=0;j<62;++j){if((cur&(one<<j))==0&&vct[j].size()){cur^=(ans[i]=vct[j].back());vct[j].pop_back();ok=1;break;}}if(!ok)return 0;}return 1; }int main() {std::ios::sync_with_stdio(0);//freopen("d:\\1.txt","r",stdin); //for(;scanf("%d",&n)!=EOF;) {init();if(!work())cout<<"No"<<endl;else{cout<<"Yes"<<endl;for(lon i=0;i<n;++i){if(i)cout<<" ";cout<<ans[i];}cout<<endl;}}return 0; }
转载于:https://www.cnblogs.com/gaudar/p/9715299.html
codeforces 966c//Big Secret// Codeforces Round #477 (Div. 1)相关推荐
- Codeforces A. XXXXX (数学 / 双指针) (Round #649 Div.2)
传送门 题意: 有一个初始数组a,找到起最大的连续子序列的和不能被x整除. 思路: 先利用所有数与x的余数求和sum,若sum为0表示整个序列都是x的倍数,找不到可行子序列. 若sum % x != ...
- Codeforces Round #694 (Div. 1 + Div2)(A ~ H,8题全,超高质量题解)【每日亿题】2021/2/1、2/2
整理的算法模板合集: ACM模板 点我看算法全家桶系列!!! 实际上是一个全新的精炼模板整合计划 目录 [每日亿题]Codeforces Round #694 (Div. 1 + Div2)(A ~ ...
- Codeforces Round #506 (Div. 3)
Codeforces Round #506 (Div. 3) 实习期间事不多,对div3 面向题解和数据编程了一波 A. Many Equal Substrings 题目链接 A题就是找后缀和前缀重合 ...
- Codeforces Round #563 (Div. 2)/CF1174
Codeforces Round #563 (Div. 2)/CF1174 CF1174A Ehab Fails to Be Thanos 其实就是要\(\sum\limits_{i=1}^n a_i ...
- 构造 Codeforces Round #302 (Div. 2) B Sea and Islands
题目传送门 1 /* 2 题意:在n^n的海洋里是否有k块陆地 3 构造算法:按奇偶性来判断,k小于等于所有点数的一半,交叉输出L/S 4 输出完k个L后,之后全部输出S:) 5 5 10 的例子可以 ...
- Codeforces 504 A (Round #285 div.1 A) Misha and Forest
Codeforces Round #285 (Div.1) A Misha and Forest 水题水题水-- 题意:给你一些点,给出他们连通了多少个点以及这些点的下标的异或值,让你找出一个图 题解 ...
- Codeforces Round #696 (Div. 2) (A ~ E)超高质量题解(每日训练 Day.16 )
整理的算法模板合集: ACM模板 点我看算法全家桶系列!!! 实际上是一个全新的精炼模板整合计划 Codeforces Round #696 (Div. 2) (A ~ E)超高质量题解 比赛链接:h ...
- Codeforces Round #712 Div.2(A ~ F) 超高质量题解(每日训练 Day.15 )
整理的算法模板合集: ACM模板 点我看算法全家桶系列!!! 实际上是一个全新的精炼模板整合计划 Codeforces Round #712 Div.2(A ~ F) 题解 比赛链接:https:// ...
- Codeforces Round #701 (Div. 2) A ~ F ,6题全,超高质量良心题解【每日亿题】2021/2/13
整理的算法模板合集: ACM模板 点我看算法全家桶系列!!! 实际上是一个全新的精炼模板整合计划 目录 A - Add and Divide B - Replace and Keep Sorted C ...
最新文章
- 医学影像阅读/分析软件FSLeyes安装避坑+核磁共振影像数据处理
- oracle 中update多个字段
- 年底了,如何准备 Java 初级和高级的技术面试?
- python把c语言的.h文件转为c++的.cpp和.h文件
- PendingIntent与Intent的区别
- 为什么说云原生会成为未来企业技术变迁的趋势
- 解决Vue报错:Uncaught (in promise) NavigationDuplicated: Avoided redundant navigation to current location
- 连接MySQL和连接文件夹区别,对数据库连接问题的一点总结
- 使用javascript及java对Cookie的读写
- 5. 高性能MySQL --- 创建高性能索引
- html_jQuery_ajax
- 横向滑动页面,导航条滑动居中的 js 实现思路
- H5 移动端浏览器调用微信的分享功能
- Python Scapy(2.3.1)文档学习(四):高级用法
- Testin融资后首个举措:推出O2O一站式测试服务
- 详细介绍GPIO、I2C、SPI通讯原理以及物理层原理
- faile什么意思_faile to是什么意思
- JavaFX调用虚拟键盘
- 10个最佳iOS Photo App模板
- 我的世界皮肤站披风不加载或不更新问题
热门文章
- oracle 如何添加数据文件,在Oracle数据库里插入excel文件数据的步骤
- oracle10g 安装手册 linux,oracle10g在x86linux上的安装步骤
- 戏说前端 JavaScript 之『防抖节流』基础知识
- asp.net使用include包含文件中文乱码_C++: 编写自己的头文件
- tar、tar.gz、tar.Z、tgz、bz2、bin软件包的安装
- mysql java dbutil_Java -- DBUtils 框架 操作MySQL数据库
- 如何加强站内搜索功能
- JavaWeb——jsp原理
- 全面使用禅道做敏捷开发的规范化管理分享
- 【java学习之路】(javaWeb篇)007.正则表达式专题