题意:

给你n个数,b[1],b[2],b[3].......,让你重新排列,使a[i]的值递增

a[i]和b的关系:

a[i] = b[1]^b[2]^b[3]^....^b[i];

首先说异或  因为是递增,所以1^0  0^0  1^1都不满足条件

只有0^1满足条件

1^0 == 1   相当于没有增长

0^1 == 1  这才相当于增长了1

再看   a=00 01 01 10

   b=00 10 11 10

这两个二进制数a,b进行异或

对于第一位  大家都等于0  异或出来相当于没变

第二位  大家都等于1  异或出来相当于少1

第三位。。。。。

第四位 a第四位等于0   b第四位等于1  两个数异或  相当于b的这一位没有改变

第五位 a第五位等于1    b第五位等于0 两个数异或  b的这一位变成1

所以只要选择a的最高位等于1     b的这一位等于0的情况进行异或

但是为什么要选择最高位:

因为只要最高位进行了增加    比他低的位无论加1还是减1都不会影响异或后的大小关系

可惜就是这样我也没想出来,想到了0和1的异或关系和一位一位去算

但是没做出来   可惜了

#include <iostream>
#include <cstdio>
#include <string>
#include <vector>
#include <cstring>
#include <cstdlib>
#include <algorithm>
using namespace std;
const long long maxn = 2e5+;
const long long N = (long long)<<;
long long a[maxn];
long long b[maxn];
vector<long long> bit[];
int main()
{
long long n,i,j,k;
long long x;
scanf("%lld",&n);
for(i=;i<n;++i)
{
scanf("%lld",b+i);
x = ;
for(j = ;j>=;--j)
{
if((x<<j)&b[i])
{
bit[j].push_back(b[i]);
break;
}
}
}
x = ;
for(i=;i<n;++i)
{
bool flag = false;
for(j=;j<;++j)
{
if(((x&((long long)<<j)) == ) && bit[j].size())
{
a[i] = bit[j][bit[j].size()-];
x ^= bit[j][bit[j].size()-];
bit[j].pop_back();
flag = true;
break;
}
}
if(!flag)
{
printf("No\n");
return ;
}
}
printf("Yes\n");
for(i=;i<n;++i)
printf("%lld ",a[i]);
}

codeforces 925 c big secret的更多相关文章

  1. 【CodeForces】925 C.Big Secret 异或

    [题目]C.Big Secret [题意]给定数组b,求重排列b数组使其前缀异或和数组a单调递增.\(n \leq 10^5,1 \leq b_i \leq 2^{60}\). [算法]异或 为了拆位 ...

  2. codeforces div2 603 D. Secret Passwords(并查集)

    题目链接:https://codeforces.com/contest/1263/problem/D 题意:有n个小写字符串代表n个密码,加入存在两个密码有共同的字母,那么说这两个密码可以认为是同一个 ...

  3. CodeForces 496B Secret Combination

    Secret Combination Time Limit:2000MS     Memory Limit:262144KB     64bit IO Format:%I64d & %I64u ...

  4. Codecraft-17 and Codeforces Round #391 (Div. 1 + Div. 2, combined)D. Felicity's Big Secret Revealed

    题目连接:http://codeforces.com/contest/757/problem/D D. Felicity's Big Secret Revealed time limit per te ...

  5. 构造+暴力 Codeforces Round #283 (Div. 2) B. Secret Combination

    题目传送门 /* 构造+暴力:按照题目意思,只要10次加1就变回原来的数字,暴力枚举所有数字,string大法好! */ /************************************** ...

  6. Codeforces Round #603 (Div. 2) D. Secret Passwords 并查集

    D. Secret Passwords One unknown hacker wants to get the admin's password of AtForces testing system, ...

  7. codeforces 496B. Secret Combination 解题报告

    题目链接:http://codeforces.com/problemset/problem/496/B 题目意思:给出 n 位数你,有两种操作:1.将每一位数字加一(当某一位 > 9 时只保存个 ...

  8. Codeforces Round #327 (Div. 1) D. Top Secret Task

    D. Top Secret Task time limit per test 3 seconds memory limit per test 256 megabytes input standard ...

  9. Codeforces 590D Top Secret Task

    D. Top Secret Task time limit per test 3 seconds memory limit per test 256 megabytes input standard ...

随机推荐

  1. android使用Pull解析来自服务器的xml文件时出现错误以及解决方案

    直接上代码,代码中有详细注释: 1 public class CheckUpdateManager { 2 private static final String TAG = "CheckU ...

  2. Quartus11中新建工程

    最近在使用CycloneII的开发板,但是高版本的Quartus不支持II系列的开发,于是只能用Q11了.好久没玩FPGA了,新建工程的过程中遇到了一些问题,这里把这些问题记下了以便以后查看. Qua ...

  3. m0n0wall 详细介绍

    pfSense就是基于m0n0wall m0n0wall,挺奇怪的软件名, M0n0wall是基于以性能和稳定性著称的FreeBSD内核的嵌入式的防火墙系统. m0n0wall对硬件要求很低,486芯 ...

  4. “Interrupted by header callback: Server reports Content-Length”如何解决

    mock初始化时的错误信息如下: Downloading Packages: [SKIPPED] systemd--.fc25.x86_64.rpm: Already downloaded [SKIP ...

  5. Linux 终端设备

    <Linux终端设备详解> https://www.cnblogs.com/shineshqw/articles/2423989.html

  6. xml配置sql语句

  7. Spring PropertyResolver 占位符解析(一)API 介绍

    Spring PropertyResolver 占位符解析(一)API 介绍 Spring 系列目录(https://www.cnblogs.com/binarylei/p/10198698.html ...

  8. 论坛:排序 >>case..when..then ..end的妙用

    a.主题列表按 最后更新时间 进行排序 数据库SQL语句中没有if..else的判断语句,但是oracle中有decode()函数可以实现这种判断语句,但是还可以用case..when..then . ...

  9. 找不到类SimpleJdbcTemplate ParameterizedRowMapper cannot be resolved

    找不到类SimpleJdbcTemplate 背景 想编译个web应用,原来spring-jdbc.jar用的是Spring 3.1,今天改成用Spring 4.3,报了这个错误. 现象 编译不通过, ...

  10. Windows-universal-samples学习笔记系列三:Navigation

    Navigation Back Button Master/detail Navigation menu (XAML) Pivot Projection XHR, handling navigatio ...