博客园 首页 私信博主 显示目录 隐藏目录 管理 动画
摘要: 有多堆石子, 每次可以将任意一堆拿走任意个或者将这一堆分成非空的两堆, 拿走最后一颗石子的人胜利。问谁会获得胜利。 阅读全文
posted @ 2018-02-25 21:04 SovietPower 阅读(222) 评论(1) 推荐(0) 编辑
摘要: 有一个一行n列的棋盘,每个人每次往上放一个棋子,将三个棋子连在一起的人赢。问是否有必胜策略。 阅读全文
posted @ 2018-02-25 20:29 SovietPower 阅读(188) 评论(0) 推荐(0) 编辑
摘要: "题目链接 洛谷" "COGS.24" 对于大的矩阵可以枚举;对于小的矩阵,需要在满足条件的区域求一个矩形和的最小值 预处理S2[i][j]表示以(i,j)为右下角的C$ $D的矩阵和, 然后对于求矩形区域的最小值,可以先将每行看做一个数列,对于每个点y,得到一个[y (B 3),y]的最小值 处理 阅读全文
posted @ 2018-02-25 19:10 SovietPower 阅读(216) 评论(0) 推荐(1) 编辑
摘要: "题目链接" Anti Nim游戏: 先手必胜当且仅当: 1.所有堆的石子数为1,且异或和为0 2.至少有一堆石子数 1,且异或和不为0 简要证明: 对于1:若异或和为1,则有奇数堆;异或和为0,则有偶数堆。比较显然。 对于2:(1)对于只有一堆石子数 1的情况(异或和一定不为0),先手可以操作这堆 阅读全文
posted @ 2018-02-25 08:59 SovietPower 阅读(145) 评论(0) 推荐(0) 编辑
摘要: 给定一个集合S,每次只能拿S中某个元素个数的石子。每组数据有多组询问,询问给出m堆石子个数,问先手是否必胜。有多组数据。 阅读全文
posted @ 2018-02-25 08:29 SovietPower 阅读(151) 评论(0) 推荐(0) 编辑
摘要: "题目链接" cpp //求三堆石子的SG函数,异或起来就是整个游戏的SG值 include include const int N=1005; int n,m,p,cnt,F[N],sg[N+2]; bool vis[N+2]; void Init() { F[0]=F[1]=1; for(cnt 阅读全文
posted @ 2018-02-25 07:40 SovietPower 阅读(140) 评论(0) 推荐(0) 编辑