博弈论
accosmos
这个作者很懒,什么都没留下…
展开
-
高僧斗法(博弈论)
题目:古时丧葬活动中经常请高僧做法事。仪式结束后,有时会有“高僧斗法”的趣味节目,以舒缓压抑的气氛。 节目大略步骤为:先用粮食(一般是稻米)在地上“画”出若干级台阶(表示N级浮屠)。又有若干小和尚随机地“站”在某个台阶上。最高一级台阶必须站人,其它任意。(如图1所示) 两位参加游戏的法师分别指挥某个小和尚向上走任意多级的台阶,但会被站在高级台阶上的小和尚阻挡,不能越过。两个小和尚也不能站在...原创 2018-12-13 13:20:23 · 141 阅读 · 0 评论 -
HDOJ1907 SG问题
题意:同样是给定n个堆,每个堆可任意取,但问的是谁最后拿走最后一个,是就输。分析:有点意思,但是慢慢分析,也能找到必胜策略,当所有堆都为1是,偶数堆显然是先手必胜,奇数堆显然是先手必输,当大于1的堆有一个时,那么我们可以讨论剩下的1的堆数是奇数还是偶数,当剩下的堆是奇数时,那么,先手就可以将大于1的堆拿完,剩下奇数个1的堆显然,对手必输,先手必胜。当剩下的堆为偶数时,显然我使大于1的堆为1就可...原创 2019-03-19 16:57:14 · 115 阅读 · 0 评论 -
nim 博弈论
几种nim游戏1.排石头游戏2.巴什博奕(Bash Game)3.威佐夫博奕(Wythoff Game)4.nim堆1.排石头游戏给你一排n个石头,每次只能取一个或两个,求必胜策略先讨论石头是奇数还是偶数,奇数就从中间拿一个,然后,对手拿几个,你就从与它对应的位置上拿几个。偶数的话就从中间拿2个。2.巴什博奕(Bash Game)只有一堆n个物品,两个人轮流从这堆物品中取物,规定每次至少...原创 2019-03-17 00:10:25 · 345 阅读 · 0 评论 -
HDOJ1850
题意:桌子上有M堆扑克牌;每堆牌的数量分别为Ni(i=1…M);两人轮流进行;每走一步可以任意选择一堆并取走其中的任意张牌;桌子上的扑克全部取光,则游戏结束;最后一次取牌的人为胜者。现在我们不想研究到底先手为胜还是为负,我只想问大家:——“先手的人如果想赢,第一步有几种选择呢?”分析:没什么好说的,就是典型的异或求解问题#include<iostream>#include...原创 2019-03-17 20:57:32 · 157 阅读 · 0 评论 -
HDOJ1517
题意:从p=1开始,两个人轮流乘2~9之间的数,看谁最先乘到比给定的数大。分析:题目y规律,但也可以根据之前所学的知识用SG求,虽然我不会。先是规律分析:p从1开始,每次乘2~9,所以2~9是先手必胜的。然后9~18,是先手必败。19~18*9是先手必胜,同样,18*9+1~18*2*9是先手必败。容易看出,是以18为规律的,除18,最后看在那个区间。#include ...原创 2019-03-21 14:52:46 · 147 阅读 · 0 评论 -
Nim游戏SG版本
题意:有n堆石子,每次可以从第1堆石子里取1颗、2颗或3颗,可以从第2堆石子里取奇数颗,可以从第3堆及以后石子里取任意颗……。推广到一般情况给定n堆,就是只能在指定的集合里取出对应数量的石子数,比如集合s={1,2,4}就是每次只能从一堆里取走1或2或4颗石子。分析:想一下前面的一个nim问题,是从一堆中取出指定集合石子数,要求必胜,怎么做,根据前面推导nim解法的过程,我们不妨还是先从0开始...原创 2019-03-18 21:24:04 · 236 阅读 · 0 评论 -
HDOJ1536 S-nim
题意:典型的SG值问题,给n个堆,m个数字,每次只能从一个堆取m个数字之一。分析:照着做就完事了,但是我不清楚为什么在这题迭代没有递归块?what?#include<stdio.h>#include<string.h>#include<algorithm>using namespace std;int k, a[100], f[10001];...原创 2019-03-18 23:09:35 · 185 阅读 · 0 评论