思路:

使用前缀和技巧进行问题转化:原数组的任意子串的异或值不能等于0或x,可以转化成前缀异或数组的任意两个元素的异或值不能等于0或x。

实现:

 #include <bits/stdc++.h>
using namespace std;
int vis[ << ];
int main()
{
int n, x;
while (cin >> n >> x)
{
memset(vis, , sizeof vis);
vector<int> v;
if (x >= ( << n))
{
for (int i = ; i < ( << n); i++) v.push_back(i);
}
else
{
for (int i = ; i < ( << n); i++)
{
if (i == x) continue;
else if (!vis[i]) { v.push_back(i); vis[i ^ x] = ; }
}
}
cout << v.size() << endl;
if (!v.empty())
{
cout << v[] << " ";
for (int i = ; i < (int)v.size(); i++) cout << (v[i - ] ^ v[i]) << " ";
cout << endl;
}
}
return ;
}

最新文章

  1. angular-ui-bootstrap-modal必须要说的几个点(转)
  2. ADO.NET 使用通用数据库操作类Database (SQL Server)
  3. ecshop /includes/lib_base.php、/includes/fckeditor/editor/dialog/fck_spellerpages/spellerpages/server-scripts/spellchecker.php Backdoor Vul
  4. 【第一篇】Android环境搭建
  5. leetcode36. Valid Sudoku
  6. java.util.Properties类
  7. Java for LeetCode 152 Maximum Product Subarray
  8. 三星笔记本预装WIN8_降级WIN7方法
  9. Javascript 笔记与总结(2-2)Javascript 变量
  10. celery 学习笔记 01-介绍
  11. vmware装redhat该光盘无法被挂载
  12. PHPSTORM实用快捷键
  13. POJ 3259 Wormholes( bellmanFord判负环)
  14. AngularJS创建新指令 - 函数功能
  15. 比较工具diif-vimdiff-windows比较工具详解
  16. URL 规范 整理
  17. mysql修改联合主键
  18. base64编解码学习及python代码实现
  19. 2017-2018-2 《网络对抗技术》20155322 Exp8 web基础
  20. 解决eclipse中web项目出现Project facet Java version 1.8 is not supported.的问题

热门文章

  1. [hdu3549]Flow Problem(最大流模板题)
  2. 孙鑫VC学习系列教程
  3. Impala介绍
  4. 如何使用Hadoop的Partitioner
  5. Entity Framework Code-First(6):Database Initialization
  6. NVI模式
  7. kingadmin
  8. 没有找零 状压dp
  9. JSONObject,JSONArray,String,Map间的互转
  10. click点击事件先后顺序的问题