博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
Codeforces Round #435 (Div. 2) C. Mahmoud and Ehab and the xor[数论 I]
阅读量:6530 次
发布时间:2019-06-24

本文共 1894 字,大约阅读时间需要 6 分钟。

题目:

题意:构造n个数字 使这些数字异或值为m

题解:从0开始,每连续4个数字数字xor值为0 则可以减少为4种情况。因为不同的两个数字异或不可能为0,所以m为0单独讨论。(忽略代码的丑陋)

1 #define _CRT_SECURE_NO_DEPRECATE 2 #pragma comment(linker, "/STACK:102400000,102400000") 3 #include
4 #include
5 #include
6 #include
7 #include
8 #include
9 #include
10 #include
11 #include
12 #include
13 #include
14 #include
15 #include
16 #include
17 #include
18 #include
19 #define pii pair
20 #define mod 100000000721 #define mp make_pair22 #define pi acos(-1)23 #define eps 0.0000000124 #define mst(a,i) memset(a,i,sizeof(a))25 #define all(n) n.begin(),n.end()26 #define lson(x) ((x<<1)) 27 #define rson(x) ((x<<1)|1) 28 #define inf 0x3f3f3f3f29 typedef long long ll;30 typedef unsigned long long ull;31 using namespace std;32 33 34 int main()35 {36 ios::sync_with_stdio(false);37 cin.tie(0); cout.tie(0);38 int i, j, k, m, n;39 cin >> n >> m;40 if (n == 2 && m == 0) { cout << "NO" << endl; return 0; }41 cout << "YES" << endl;42 if (m != 0)43 {44 int temp = (n - 1) / 4;45 for (int i = 100004; i <= 100004 + temp * 4 - 1; ++i)46 cout << i << " ";47 n -= temp * 4;48 if (n == 1)cout << m << endl;49 else if (n == 4)50 {51 if(m!=2)52 cout << "2 524290 524288 " << m;53 else 54 cout << "4 524292 524288 " << m;55 }56 else if (n == 2)57 cout << m + 524288 << " 524288";58 else if (n == 3)59 cout << "0 " << m + 524288 << " 524288";60 }61 else62 {63 int temp = max(n / 4 - 1, 0);64 for (int i = 100004; i <= 100004 + temp * 4 - 1; ++i)65 cout << i << " ";66 n -= temp * 4;67 if (n == 6)68 {69 cout << "1 2 3 7 8 15"; n -= 6;70 }71 else if (n >= 4)72 {73 cout << "500000 500001 500002 500003 "; n -= 4;74 }75 if (n == 1)76 cout << "0" << endl;77 else if (n == 3)78 cout << "1 2 3" << endl;79 }80 return 0;81 }

 

转载于:https://www.cnblogs.com/Meternal/p/7563521.html

你可能感兴趣的文章
延时加载的网页实现自动操作方法
查看>>
为什么我的eclipse怎么没有新建java project选项
查看>>
mysql缓存 (redis)
查看>>
如何结局线程安全问题
查看>>
解决“该Jenkins实例似乎已离线”
查看>>
Linux文件共享之samba
查看>>
【openstack】私有云机器用xftp或rz工具上传大文件导致机器连接断开问题解决
查看>>
数据库-----建表
查看>>
老男孩教育--50期linux高级运维脱产班 张震 决心书
查看>>
重定向,常用转义字符
查看>>
知道了这20个面试投行的Java问题+答案,工作不用愁了!
查看>>
大数据学习路线,0基础小白怎么学习大数据?
查看>>
B/S下,页面后台计算需要大量时间,前台如何显示载入中或进度条
查看>>
linux 单网卡来绑定多IP实现多网段访问以及多网卡绑定单IP实现负载均衡
查看>>
oracle数据库存储过程的运用之print_table
查看>>
部署SSL证书解决ios7.1的app下载问题
查看>>
中电信天翼3G网络覆盖西沙群岛多座岛礁
查看>>
从《大闹天宫》到《大圣归来》
查看>>
我的友情链接
查看>>
redis配置
查看>>