博弈
文章平均质量分 54
Flying_Fatty
这个作者很懒,什么都没留下…
展开
-
HDOJ 5724 Chess
2016多校第一场 HDOJ 5724 Chess原创 2016-08-27 18:34:56 · 437 阅读 · 0 评论 -
uva 10561 treblecross
NIM游戏的变形题:uva10561需要理解NIM游戏的精髓,然后知道应该怎么建模,才能搞这个题题意:从1到n总共有n个格子,初始状态有的格子中有棋子,有的没有;要求出现连续三个格子中都有棋子为胜利状态问先手是否可胜,如果可胜,按照升序的顺序输出所有的可胜的第一步走法如果是不可胜,输出LOSING这个题为什么和NIM有关,就是可以将初始状态分解成多个子状态原创 2016-08-20 14:20:33 · 595 阅读 · 0 评论 -
博弈 SG函数
为什么要学习这个呢?因为每次看到题解的第一句话总是这种的:水题,简单题,模板题,打表题然后,第二句话,就是结论,比如sg【x】等于(然后一个分类),就得到了公式最后就是把所有的亦或起来,就得到了答案了首先呢,可以把这个题做一做,是一个很好的博弈题。题目链接:HDOJ5754HDOJ5754题解这个题,解释了博弈的很经典一个思路:找平衡什么叫做平衡?就是当原创 2016-08-10 17:11:48 · 1820 阅读 · 0 评论 -
POJ 2425 A Chess Game
POJ 2425 博弈原创 2016-08-10 16:53:29 · 526 阅读 · 0 评论 -
HDOJ 5795 A Simple Nim
题目链接:HDOJ 5795就是因为这个题的题解(水题),逼着自己学SG函数,学打表,废话不多说状态转移很简单,要么把一堆分成三堆,要么把一堆取任意个石子走(不能不取),所以可以提前打表找好规律取任意个石子(不能不取),那么剩下的就是0,1,2……,x-1个那么有sg【x】=mex(sg【0】,sg【1】……,sg【x-1】),这是第一部分分成三堆,枚举i,j,k使原创 2016-08-10 17:01:06 · 419 阅读 · 0 评论 -
HDOJ 3032 Nim or not Nim?
题目链接:HDOJ3032跟HDOJ 5795没有本质区别吧,一个是两堆,一个是三堆,本质是一样的HDOJ5795题解代码如下:#includeusing namespace std;const int maxn=1e6+100;int t,n;int sg[maxn];int ans,num;int g(int x){ int mex[max原创 2016-08-10 17:05:08 · 362 阅读 · 0 评论 -
HDOJ 1848 Fibonacci again and again
题目链接:HDOJ1848题目的状态转移给定是Fibonnacci的前几个数,需要提前打表计算然后求SG(x),只需要去计算SG(x-1),SG(x-2)……SG(x-Fk),其中Fk是min【x,题中可能的最大Fibonacci】代码如下:#includeusing namespace std;const int N=1050;int sg[N];i原创 2016-08-10 17:08:38 · 404 阅读 · 0 评论