![](https://img-blog.csdnimg.cn/20201014180756925.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
博弈论
沙雕.
此人很帅,什么都没有写
展开
-
HDU 1847 Good Luck in CET-4 Everybody!(博弈论入门?)
题解: (我P,N写反了,最好反过来,不然看其他博客容易搞混淆,而我懒得改了) 用P表示先手必赢,N表示先手必输。 n=0时,先手必输,因为拍已经被抓完了,他没得抓 n=1时,先手必赢,他抓1张牌,下一个人没得抓 ..... n=x时,他想赢的话,只要抓走合适的牌,让下一个人碰到的排数一定是先手必输。 他抓走的牌的张数可以是 1,2,4....2^某某次方 < x 查找这几种...原创 2019-03-24 11:52:12 · 124 阅读 · 0 评论 -
HOJ 2645 WNim(sg函数找规律以及求解)
题目链接:http://acm.hit.edu.cn/problemset/2645 参考了这篇题解:https://blog.csdn.net/y1196645376/article/details/52165245 解题思路: 符合nim游戏的博弈,重点就是 找sg函数的规律 以及 对应求法。 找规律请参考那位大佬的博客,我仅描述一下怎样求sg值 举个栗子: 假设有10个数...原创 2019-04-13 12:09:00 · 212 阅读 · 0 评论 -
POJ 2975 Nim
题目链接:https://vjudge.net/problem/POJ-2975 题解: 1.令n堆异或和为 sum,如果sum=0,当前必败,也就没有必胜的方法 如果sum不等于0,每次判断一个堆是否有可取方法使得 当前堆去掉几个后 异或 剩余n-1个堆的sum值 =0 栗子:假设剩下堆的sum值为0101,那么如果当前堆大于等于0101,那么一定可以拿走几个使得当前为0101...原创 2019-04-14 20:59:55 · 93 阅读 · 0 评论 -
HOJ 1367 A Stone Game(anti-nim)
题目链接:http://acm.hit.edu.cn/problemset/1367 解题思路:这个nim游戏是谁取最后一份谁输.(0堆的时候相当于上一个人取完了最后一堆,先手必胜) 假设n堆异或和为nim 有以下状态: ①:每堆为1 --->nim=0,偶数堆 nim!=0,奇数堆 对应: 先手必胜 先手必败 ②:有一堆大于...原创 2019-04-15 09:53:09 · 307 阅读 · 0 评论 -
HDU 1079 Calendar Game(博弈论 暴力推状态)
题目链接:http://acm.hdu.edu.cn/showproblem.php?pid=1079 解题思路: P表示先手必胜,N表示先手必败。 当前能够转移到任意一种必败局面的为P 否则为N 剩下就是对年月日月份各种恶心的判断了 代码: #include<cstdio> #include<algorithm> using namespace std;...原创 2019-07-21 16:42:09 · 98 阅读 · 0 评论 -
HDU 1525 Euclid's Game(Nim)
题目链接:http://acm.hdu.edu.cn/showproblem.php?pid=1525 解题思路: 一个大数A,一个小数B,A减去了n倍B,变成了比B小的数,此时两个数的地位发生了转变。 我们把每次到达地位改变的过程称为一个状态,这个过程最多可以操作的次数为A/B 我们记录这个这个最多可以操作的次数。 最终到了什么时候可以判断胜负了呢?就是a%b==0/b%a==0,那么...原创 2019-07-21 16:53:44 · 86 阅读 · 0 评论 -
HDU 1564 Play a game(找规律)
题目链接:http://acm.hdu.edu.cn/showproblem.php?pid=1564 参考自:https://www.cnblogs.com/kuangbin/archive/2013/07/22/3204654.html 这样分的话,后进入第一个2*1小方块的人一定有路子可以让自己下一步可走 代码略。 ...原创 2019-07-21 16:59:31 · 88 阅读 · 0 评论