题目链接

如果后手想要胜利,那么在后手第一次取完石子后 可以使石子数异或和为0。那所有数异或和为0的线性基长啥样呢,不知道。。

往前想,后手可以取走某些石子使得剩下石子异或和为0,那不就是存在异或和为0的子集吗。

so先手要使得他取完后不存在异或和为0的子集。从大到小依次尝试插入线性基即可。

//820kb	0ms
#include <cstdio>
#include <cctype>
#include <algorithm>
#define gc() getchar()
#define Bit 30
const int N=105; int n,A[N],base[36]; inline int read()
{
int now=0;register char c=gc();
for(;!isdigit(c);c=gc());
for(;isdigit(c);now=now*10+c-'0',c=gc());
return now;
}
inline int Insert(int v)
{
for(int i=Bit,x=v; ~i; --i)
if(x>>i & 1)
if(base[i]) x^=base[i];
else {base[i]=x; return 0;}
return v;
} int main()
{
n=read();
for(int i=1; i<=n; ++i) A[i]=read();
std::sort(A+1,A+1+n);
long long ans=0;
for(int i=n; i; --i) ans+=Insert(A[i]);
printf("%lld\n",ans); return 0;
}

最新文章

  1. 关于搭建webservice以及无法通过URL访问的简易解决办法
  2. 【浏览器渲染原理】渲染树构建之渲染树和DOM树的关系(转载 学习中。。。)
  3. strlen与sizeof的区别 [转]
  4. Yii2框架数据库增删改查小结
  5. FireMonkey vs. VCL (FMX的UI更灵活,图形效果更强,硬件加速,内嵌3D,使用浮点数更精确,跨平台,可使用Mida converter转换和TFireMonkeyContainer内嵌)
  6. SCXML和QScxml使用总结
  7. bean 与 map 互转.
  8. C 语言实现字符串替换
  9. 记一次Linux下给硬盘分区格式化操作
  10. linux上MongoDB安装部署
  11. PS调出唯美紫蓝色天空背景女生照片
  12. OpenJDK和JDK区别
  13. MySQL崩溃恢复与组提交
  14. C#多线程读写同一文件处理
  15. 字符串搜索 find()
  16. POJ 1126
  17. SpringDataJPA最佳实践(一)简介
  18. [转] 移动平台Html5的viewport使用经验
  19. flask模块
  20. 值得一做》关于并查集的进化题目 BZOJ1015(BZOJ第一页计划)(normal-)

热门文章

  1. UNIX环境高级编程 第2章 UNIX标准及实现
  2. XSS注入常用语句
  3. FastDFS集群部署
  4. linux用户权限 -&gt; 系统用户管理
  5. 使用的vue、elementUI、vuex、express、mongoDB的单页应用
  6. 【前端vue开发】vue项目使用sass less扩展语言所要安装的依赖
  7. Go 的package
  8. java基础59 JavaScript运算符与控制流程语句(网页知识)
  9. Java--Jackson转换Date,Timestamp 到格式化字符串
  10. Es官方文档整理-3.Doc Values和FieldData