1、HDU 2509  

2、题意:n堆苹果,两个人轮流,每次从一堆中取连续的多个,至少取一个,最后取光者败

3、总结:Nim博弈的变形,还是不知道怎么分析,,,,看了大牛的博客。 传送门 

首先给出结论:先手胜当且仅当(1)所有堆石子数都为1且游戏的SG值为0,(2)存在某堆石子数大于1且游戏的SG值不为0。
证明:
(1)若所有堆石子数都为1且SG值为0,则共有偶数堆石子,故先手胜。
(2) i)只有一堆石子数大于1时,我们总可以对该堆石子操作,使操作后石子堆数为奇数且所有堆得石子数均为1 ii)有超过一堆石子数大于1时,先手将SG值变为0即可,且总还存在某堆石子数大于1。因而,先手胜。

#include<bits/stdc++.h>
#define F(i,a,b) for (int i=a;i<b;i++)
#define FF(i,a,b) for (int i=a;i<=b;i++)
#define mes(a,b) memset(a,b,sizeof(a))
#define INF 0x3f3f3f3f
using namespace std;
typedef long long LL;
const int N=; int main()
{
int n,a[];
while(~scanf("%d",&n)) {
int ans=,flag=;
F(i,,n) {
scanf("%d",&a[i]);
ans^=a[i];
if(a[i]>) flag=;
}
if(!flag) {
if(ans) puts("No");
else puts("Yes");
} else {
if(ans) puts("Yes");
else puts("No");
}
} return ;
}

最新文章

  1. 使用eclipse搭建maven项目
  2. 编写可维护的JavaScript
  3. 日志分析 第一章 ELK介绍
  4. sql2008清空日志
  5. Effective Java 20 Prefer class hierarchies to tagged classes
  6. java连接mysql(三)
  7. HDU 4632 Palindrome subsequence (区间DP)
  8. Android入门教程之我见
  9. Android 抓包,监控流量工具之 mitmproxy
  10. javascript新窗口打开链接window.open()被阻拦的解决办法
  11. 一步一步重写 CodeIgniter 框架 (8) —— 视图的嵌套输出与返回
  12. 关于hashCode与equals
  13. 持续集成之 Nuget 进阶
  14. CentOS7 VMware-Tools安装与共享文件夹设置
  15. [Swift]LeetCode792. 匹配子序列的单词数 | Number of Matching Subsequences
  16. ajax json struts JSP传递消息到action返回数据到JSP
  17. 在CentOS7服务器端启动jupyter notebook服务,在windows端使用jupyter notebook,服务器充当后台计算云端
  18. 类的三大方法 与__init___
  19. maven构建SSM项目
  20. windows上的Qt 5的依赖部署打包

热门文章

  1. matlab -xlsread 打开xls文件出错:服务器出现意外情况
  2. debian 或者kali 安装git
  3. Linux下的压缩和解压缩命令——bzip2/bunzip2
  4. nginx配置为windows服务中的坑
  5. js识别当前用户设备的几个方法
  6. iOS常用第三方开源框架和优秀开发者博客等
  7. 第四天--html简易布局
  8. MongoDB学习笔记
  9. GridView模版列中设置
  10. WinForm 遍历用户控件里CheckBox