博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
cf 1174 D Ehab and the Expected XOR Problem
阅读量:4332 次
发布时间:2019-06-06

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

cf 1174 D

题意

在1~\(2^n\)范围内找到一个最长的序列,使得该序列的每一个子串异或后不等于0和x

题解

假设该序列为a,那么前缀异或和b[i] = a[i]^a[i-1]^...^a[0],如果b之间异或都不会等于0和x,那么a之间也不会。

#include 
#include
int main() { int n, x; while(~scanf("%d %d", &n, &x)) { n = 1 << n; int ans[300000], cnt = 0; bool vis[300000]; memset(vis, false, sizeof(vis)); vis[x] = true; for(int i = 1; i < n; i++) { if(vis[i] == false){ ans[cnt++] = i; vis[i] = vis[i^x] = true; } } printf("%d\n", cnt); if(cnt) printf("%d ", ans[0]); for(int i = 1; i < cnt; i++) { printf("%d ", ans[i] ^ ans[i-1]); } if(cnt) printf("\n"); } return 0;}

转载于:https://www.cnblogs.com/fanshhh/p/11406456.html

你可能感兴趣的文章
Python学习笔记-EXCEL操作
查看>>
输出保留12位小数的浮点数
查看>>
LnTbtbKLyv
查看>>
springboot ---> spring ioc 注册流程 源码解析 this.prepareContext 部分
查看>>
Java基础随笔
查看>>
图的存储结构
查看>>
图的遍历
查看>>
最小生成树的基本算法
查看>>
MySQL基础操作
查看>>
cf 1004 D Sonya and Matrix
查看>>
求幂塔函数
查看>>
机器学习常用性能度量中的Accuracy、Precision、Recall、ROC、F score等都是些什么东西?...
查看>>
目标检测中常提到的IoU和mAP究竟是什么?
查看>>
eclipse运行mapreduce的wordcount
查看>>
linux命令帮助 man bash
查看>>
springmvc 参数解析绑定原理
查看>>
sys 模块
查看>>
Ubuntu 12.04环境下配置Postgresql和phppgadmin
查看>>
七牛云上传图片到cdn,cdn返回的是一个只有图片的url
查看>>
Good Template
查看>>