博弈
文章平均质量分 71
lyc1635566ty
这个作者很懒,什么都没留下…
展开
-
HDU-5754-Life Winner Bo-博弈
题目其实可以转化为两堆石子,从中取石子,两堆石子分别是x和y坐标 四种棋子分别代表不同的取法,其实数据可以在大一点,n #include using namespace std; int dp1[1111][1111];///0未访问,1输,2赢 int dp3[1111][1111];///0未访问,1输,2平,3赢 int dp4[1111]; int sov1(int n,int m)原创 2016-07-27 00:58:10 · 216 阅读 · 0 评论 -
HDU-5795-A Simple Nim-博弈(SG函数)打表找规律
题意:n堆石子,每堆a[i]个 每次操作可以从一堆取任意一个,也可以将一堆分为不为0的三堆,最后取完的获胜 思路:简单的SG函数计算。写的比较少,所以这里记录一些笔记 sg(x) =mex{sg(y) : y ∈ F(x)}这个公式的意思, y是x的后继状态,什么是后继状态,简单的说就是x通过一步操作可以到达的状态 公式求的是所有后继状态中第一个没出现的值。 打表后的公式就是 sg[原创 2016-08-05 15:32:28 · 420 阅读 · 0 评论 -
UVA7042(2014西安H题)-The Problem to Make You Happy-博弈+bfs
题意:给你一张n个点的有向图,并给你B和A的初始坐标(点号)。B和A在图上轮流走,B先走。如果某个时刻A和B在同一点上了,B就输了,B的胜利的条件是B和A永远都不会重合,如果有一方不能走了,那么那一方就输了。 思路:f[i][j][0/1(0表示当前是A走,1表示当前是B走)]=0/1 (0表示B输,1表示B赢) 开始将f数组全初始化为1,将B必败初始化为0,并存入队列,然后BFS。 BFS原创 2016-09-05 21:05:26 · 701 阅读 · 0 评论 -
博弈论学习笔记
巴氏博弈eg:hdu2149,2156描述:只有一堆n个石子,每次能取1到m个物品,A先手,问谁能先取完石子思路:这种问题的关键就在于能否取到关键点,比如,这里只能能取到倒数m+2个石子,留下m+1个石子,则后者就必败。结论:如果初始石子是(m+1)的倍数,则先手必败,否则先手必胜。威佐夫博弈eg:hdu2177,hdu5754描述:有两堆物品,每堆都有若干物品。每次可以从一堆中取任意物品,也可以从原创 2017-07-19 16:04:09 · 380 阅读 · 0 评论