题目链接:http://codeforces.com/contest/862/problem/C

题解:一道简单的构造题,一般构造题差不多都考自己脑补,脑洞一开就过了

由于数据x只有1e5,但是要求是1e6,而且我们知道3个数可以组合成任意数也就是说n-3的数从1~1e5直接任意找然后使得其总xor为sum

当sum=x时(定义Max=1<<17 > 1e5)那么这三个数只要组成0就行,当sum!=x时那么这三个数只要构成sum^x就行,这3个数从1e5~1e6中找

很好找的。

#include <iostream>
#include <cstring>
#include <cstdio>
using namespace std; int main() {
int n , x;
cin >> n >> x;
if(n == ) {
cout << "YES" << endl;
cout << x << endl;
}
else if(n == ) {
if(x == ) {
cout << "NO" << endl;
}
else {
cout << "YES" << endl;
cout << << ' ' << x << endl;
}
}
else {
int Max = << ;
int sum = ;
cout << "YES" << endl;
for(int i = ; i <= n - ; i++) {
cout << i << ' ';
sum ^= i;
}
if(sum == x) {
cout << Max << ' ' << (Max << ) << ' ' << (Max ^ (Max << )) << endl;
}
else {
cout << << ' ' << (Max ^ sum) << ' ' << (Max ^ x) << endl;
}
}
return ;
}

最新文章

  1. js基础2
  2. One Page Scroll – 实现苹果风格的单页滚动效果
  3. 跟着百度学PHP[4]OOP面对对象编程-15-魔术方法__call方法
  4. C++ 一个统计文件夹下所有代码文件行数的小工具
  5. [问题2014A02] 解答一(两次升阶法,由张钧瑞同学、董麒麟同学提供)
  6. 如何理解和使用Java package包
  7. if for case 及多参数同时传递
  8. ios-uitableviewcell展开
  9. amcharts 网页绘图插件
  10. Bigcommerce:intershop编程经验总结
  11. 手机低端市场,联发科 vs 高通
  12. python网络编程——将IPv4地址转换成不同的格式
  13. ClassLoader的等级加载机制
  14. JavaScript中常用的Document了解
  15. #黑客社会工程学攻防演练#[Chapter 1]
  16. CLR-2-2-引用类型和值类型
  17. python不能调试的原因
  18. 浏览器各个版本和系统(chrome/safari/edge/qq/360)
  19. MySQL 日期笔记
  20. requestmapping等相关知识

热门文章

  1. angularjs通信以及postmessage与iframe通信
  2. solr 新建core
  3. S2:java集合框架
  4. mcrp 对接软件换
  5. 5.Go-封装、继承、接口、多态和断言
  6. 信息收集框架——recon-ng
  7. javaweb基础整理随笔------jstl与el表达式
  8. SpringBoot配置web访问H2
  9. abc -- 牛客
  10. 01、VM安装教程