目录
巴什博弈
题目描述:
原理:
相关题目:
威佐夫博弈
题目描述:
原理:
相关题目:
NIMM博弈
题目描述:
原理:
相关题目:
n个物品,两个人轮流取,每个人至少取一个,最多取m个,先将物品取光的的人获胜。
我们先考虑最简单的局面,如果只有(m+1)个物品,先手无论怎么取,后手都能将剩下的一次取完获胜。因此可以知道(m+1)是一个先手必败局面。对于(m+1)*k个物品同理可知,无论先手怎么拿,后手都可以合法地拿走一些物品,使剩下的依然是(m+1)的整数倍,直到先手遇到(m+1)必输局面。因此(m+1)*k是一个先手必输局面。由此可知,题目给出n,m,如果
n%(m+1)!=0,那么先手必赢,反之,先手输。
HDU2188 悼念512汶川大地震遇难同胞——选拔志愿者
https://paste.ubuntu.com/p/BHykHtnh7W/
HDU2149 Public Sale
https://paste.ubuntu.com/p/5wQbznnkkN/
HDU1846 Brave Game
https://paste.ubuntu.com/p/m5wmWhWnYJ/
有两堆若干个物品,每个人轮流在任意一堆取至少一个或同时从两堆中取同样多的物品,先将物品取光者胜。
仍然先考虑简单的局面,对于(0,1),(1,1)这样的局面,一定是必赢的局面,那么对于(1,2)这样的局面,你合法地拿取,一定会将局面变成必赢的局面,所以这是必输的局面。由此不断推出必赢的局面有哪些呢?(0,0),(1,2),(3,5),(4,7),(6,10)等等。一通数学推理可以得到奇异局面的通项公式:
其中[]代表向下取整,k代表出现的第几个奇异局面。具有以下性质,奇异局面无论怎么拿都会变成非奇异局面,非奇异局面可以通过适当的操作变成奇异局面。为什么是这样,指路队友博客——》》wz-archer。
HDU1527 取石子游戏
https://paste.ubuntu.com/p/4BGJvSKCY4/
HDU2177 取(2堆)石子游戏
https://paste.ubuntu.com/p/cX6jqh4SpQ/
注意!注意!HDU2177这道题网络上大部分都是枚举找的,队友提供的邪教思想,给定一个局面(a,b)后,如果是非奇异局面找到它能转换的奇异局面,假设a,通过,[]代表向上取整,假设
,通过
,[]代表向上取整。因为楼主和队友都是数学辣鸡,所以也不知道这个骚操作对不对,题过是过了,欢迎指摘。
有若干堆物品,每堆物品有若干个,两个人轮流选择任意一堆取至少一个,没有物品可以取的人输。
有个JULAO找到的方法:对于k堆物品,每堆物品个数为,
,
,,,
,异或和
,如果sum为零,则该局面先手必输,反之,先手必赢。我们怎么证明这个操作是正确的呢?通过三个定义:
1.当局面是无法操作时,是先手必输。对于nimm博弈来说,就是全为零的局面,此时sum为零,先手必输。符合定义。
2.当局面是必赢局面时,总能通过合适的操作将局面变成必输局面。对于nimm博弈来说,sum不为零,必然存在某一堆,使得
,
,即必赢局面转换为必输局面。
3.当局面时必输局面时,无论怎么操作都只能转换成必赢局面。对于nimm博弈来说,sum为零,无论怎么操作都不能再次变为异或和为零的情况。
由此可证,异或和的操作是对的。异或和具有消除性,巧用异或和操作。
HDU1850 Being a Good Boy in Spring Festival
https://paste.ubuntu.com/p/9447Q6NqqF/
HDU2176 取(m堆)石子游戏
https://paste.ubuntu.com/p/6pGJJ7K4jP/
HDU1730 Northcott Game
https://paste.ubuntu.com/p/pSdj7kRJDM/
对于HDU1730 这道题,当同一行两个棋子相邻时,不能再移动,因此能移动的步数就是两个棋子距离,能够移动的距离其实就相当于nimm博弈中的一堆物品,多行就是若干堆物品。
HDU1849 Rabbit and Grass
https://paste.ubuntu.com/p/NQxdfGZQHn/
POJ2234 Matches Game
https://paste.ubuntu.com/p/PHYJ3nHbSH/