
博弈
acmer_zp
这个作者很懒,什么都没留下…
展开
专栏收录文章
- 默认排序
- 最新发布
- 最早发布
- 最多阅读
- 最少阅读
-
威佐夫博弈(hdu 1527和2177)
威佐夫博弈有关证明 如果起始状态为奇异局势,则为先手必败; 最后有个公式,判断给出的(a,b)是否为奇异局势; a=[k(1+√5)/2],b= a + k (k=0,1,2,…,n 方括号表示取整函数) k=[a(√5-1)/2];如果a==[k(1+√5)/2],那么a=a,b=a+k,否则a=a+1,b= a+k+1;满足条件就是奇异局势,否则是非奇异局势;#include<cst原创 2017-03-07 21:44:32 · 447 阅读 · 0 评论 -
斐波那契博弈(hdu 2516)
(转)这是一道Fibonacci’s Game(斐波那契博弈) 斐波那契博弈模型,大致上是这样的: 有一堆个数为 n 的石子,游戏双方轮流取石子,满足: 1. 先手不能在第一次把所有的石子取完; 2. 之后每次可以取的石子数介于1到对手刚取的石子数的2倍之间(包含1和对手刚取的石子数的2倍)。 约定取走最后一个石子的人为赢家,求必败态。 分析: n = 2时输出second; n原创 2017-03-09 19:41:04 · 585 阅读 · 0 评论 -
阶梯博弈
有关阶梯博弈的别人的博客戳这里 hdu 4315 题意:在山上有n个人,每个人编号是1~n,这些位置只能同时被一个人占据,但是山顶可以同时被多个人占据,距离山顶第k近的是King,现在Alice和Bob开始向上送人,条件是不能跨越前面最近的人,问在Alice先手,双方最优的条件下谁能把King送到山顶。 思路:这道题可以转化为Nim博弈或者阶梯博弈; 从后往前将两个人分成一组,一组的长度可以原创 2017-03-11 12:14:53 · 456 阅读 · 0 评论 -
Nim博弈(hdu 2176)
通常的Nim游戏的定义是这样的: 有若干堆石子,每堆石子的数量都是有限的,合法的移动是“选择一堆石子并拿走若干颗(不能不拿)”,如果轮到某个人时所有的石子堆都已经被拿空了,则判负(因为他此刻没有任何合法的移动)。 结论: 必败状态:a1^a2^……^an=0 必胜状态:a1^a2^…….^an=k (其中k不为零) 证明: terminal position只有一个,就是全0,异或仍然是原创 2017-03-09 18:53:22 · 394 阅读 · 0 评论 -
经典海盗分金问题(hdu 1538)
别人博客讲的非常详细 题意:这是一个经典问题,有n个海盗,分m块金子,其中他们会按一定的顺序提出自己的分配方案,如果大于等于50%的人赞成,则方案通过,开始分金子,如果不通过,则把提出方案的扔到海里,下一个人继续。 思路:上面那篇博客已经讲的非常详细了;#include<cstdio>#include<cstring>#include<iostream>#include<algorithm原创 2017-03-13 19:46:55 · 1563 阅读 · 0 评论