BZOJ 3759 Hungergame 博弈论+高斯消元
2014-11-26 19:13
260 查看
题目大意:给定一些箱子,每个箱子里有一些石子,两个人轮流操作,每个人可以进行以下操作之一:
1.打开任意多的箱子
2.从一个打开的箱子中拿走任意多的石子
不能操作者判负,求先手是否必胜
先手必胜的状态为:给出的数字集合存在一个异或和为零的非空子集,则先手必胜
证明:
首先我们有状态A:当前的所有打开的箱子中的石子数异或和为零,且所有关闭的箱子中的石子数的集合中不存在一个异或和为零的非空子集
易证A状态时先手必败
先手有两种操作:
1.从一个打开的箱子中拿走一些石子 那么根据Nim的结论 后手可以同样拿走一些石子使状态恢复为A状态
2.打开一些箱子 由于未打开的箱子中不存在一个异或和为零的非空子集 所以打开后所有打开的箱子中石子数异或和必不为零 于是后手可以拿走一些石子使状态恢复为A状态
故此时先手必败
那么如果初始不存在一个异或和为零的非空子集,那么初始状态满足状态A,先手必败
如果初始存在一个异或和为零的非空子集,那么先手一定可以打开所有的异或和为零的子集,使剩余箱子不存在异或和为零的非空子集,将状态A留给后手,先手必胜
然后就是判断有没有异或和为零的非空子集的问题了……果断高斯消元求线性基
1.打开任意多的箱子
2.从一个打开的箱子中拿走任意多的石子
不能操作者判负,求先手是否必胜
先手必胜的状态为:给出的数字集合存在一个异或和为零的非空子集,则先手必胜
证明:
首先我们有状态A:当前的所有打开的箱子中的石子数异或和为零,且所有关闭的箱子中的石子数的集合中不存在一个异或和为零的非空子集
易证A状态时先手必败
先手有两种操作:
1.从一个打开的箱子中拿走一些石子 那么根据Nim的结论 后手可以同样拿走一些石子使状态恢复为A状态
2.打开一些箱子 由于未打开的箱子中不存在一个异或和为零的非空子集 所以打开后所有打开的箱子中石子数异或和必不为零 于是后手可以拿走一些石子使状态恢复为A状态
故此时先手必败
那么如果初始不存在一个异或和为零的非空子集,那么初始状态满足状态A,先手必败
如果初始存在一个异或和为零的非空子集,那么先手一定可以打开所有的异或和为零的子集,使剩余箱子不存在异或和为零的非空子集,将状态A留给后手,先手必胜
然后就是判断有没有异或和为零的非空子集的问题了……果断高斯消元求线性基
#include <cstdio> #include <cstring> #include <iostream> #include <algorithm> #define M 30 using namespace std; int n,a[M]; bool Gauss_Elimination() { int i,j,k=0; for(j=1<<30;j;j>>=1) { for(i=k+1;i<=n;i++) if(a[i]&j) break; if(i==n+1) continue; swap(a[i],a[++k]); for(i=1;i<=n;i++) if(i!=k&&a[i]&j) a[i]^=a[k]; } return k!=n; } int main() { int T,i; for(cin>>T;T;T--) { cin>>n; for(i=1;i<=n;i++) scanf("%d",&a[i]); puts(Gauss_Elimination()?"Yes":"No"); } }
相关文章推荐
- 【BZOJ3759】【博弈论】17.1.24 T1 Hungergame 题解
- bzoj 3759 Hungergame 博弈论+线性基
- bzoj 3759 Hungergame 博弈论+线性基
- BZOJ.3759.Hungergame(博弈论 线性基)
- [BZOJ]5001: 搞事情 高斯消元解xor方程组
- 【bzoj1778】[Usaco2010 Hol]Dotp 驱逐猪猡 矩阵乘法+概率dp+高斯消元
- 【BZOJ 3143】【Hnoi2013】游走 期望+高斯消元
- BZOJ 2466 中山市选2009 树 高斯消元+暴力
- 【BZOJ 1013】【JSOI2008】球形空间产生器sphere 高斯消元基础题
- [莫比乌斯反演 高斯消元 数学技巧] BZOJ 3601 一个人的数论
- [BZOJ2707][SDOI2012]走迷宫(tarjan+概率期望+高斯消元)
- 【BZOJ 3640】JC的小苹果 (高斯消元,概率DP)
- BZOJ 3503 高斯消元
- BZOJ 4269 高斯消元求线性基
- [bzoj 1013] [JSOI2008]球形空间产生器sphere:高斯消元
- [BZOJ4820]硬币游戏 KMP+高斯消元
- BZOJ 3150 [Ctsc2013]猴子 ——期望DP 高斯消元
- [BZOJ2337][HNOI2011]XOR和路径(概率期望dp+高斯消元)
- 【高斯消元】BZOJ1013 [JSOI2008]球形空间产生器sphere
- BZOJ 3143 游走(高斯消元)