CF1174D Ehab and the Expected XOR Problem
2024-08-31 16:02:05
思路:
使用前缀和技巧进行问题转化:原数组的任意子串的异或值不能等于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 ;
}
最新文章
- angular-ui-bootstrap-modal必须要说的几个点(转)
- ADO.NET 使用通用数据库操作类Database (SQL Server)
- ecshop /includes/lib_base.php、/includes/fckeditor/editor/dialog/fck_spellerpages/spellerpages/server-scripts/spellchecker.php Backdoor Vul
- 【第一篇】Android环境搭建
- leetcode36. Valid Sudoku
- java.util.Properties类
- Java for LeetCode 152 Maximum Product Subarray
- 三星笔记本预装WIN8_降级WIN7方法
- Javascript 笔记与总结(2-2)Javascript 变量
- celery 学习笔记 01-介绍
- vmware装redhat该光盘无法被挂载
- PHPSTORM实用快捷键
- POJ 3259 Wormholes( bellmanFord判负环)
- AngularJS创建新指令 - 函数功能
- 比较工具diif-vimdiff-windows比较工具详解
- URL 规范 整理
- mysql修改联合主键
- base64编解码学习及python代码实现
- 2017-2018-2 《网络对抗技术》20155322 Exp8 web基础
- 解决eclipse中web项目出现Project facet Java version 1.8 is not supported.的问题