E-COM-NET
首页
在线工具
Layui镜像站
SUI文档
联系我们
推荐频道
Java
PHP
C++
C
C#
Python
Ruby
go语言
Scala
Servlet
Vue
MySQL
NoSQL
Redis
CSS
Oracle
SQL Server
DB2
HBase
Http
HTML5
Spring
Ajax
Jquery
JavaScript
Json
XML
NodeJs
mybatis
Hibernate
算法
设计模式
shell
数据结构
大数据
JS
消息中间件
正则表达式
Tomcat
SQL
Nginx
Shiro
Maven
Linux
威佐夫博弈
博弈论知识点总结(巴什博奕
威佐夫博弈
尼姆博弈 SG()函数介绍)
转载自:总结真心感谢博主,终于知道为什么尼姆博弈用异或来解决。SG函数模板:voidinit()//根据题目要求进行修改{a[0]=1;for(inti=1;i<=32;i++)a[i]=a[i-1]*2;}voidSG(){for(inti=1;i<=1000;i++){memset(vis,0,sizeof(vis));for(intj=0;a[j]<=i;j++){vis[sg[i-a[j]
SYITwin
·
2018-10-16 15:50
ACM
(^-^)
------博弈论
-------(^-^)
SG
ICG博弈_
威佐夫博弈
(Wythoff Game)及证明
复仇记第二篇,ICG博弈中的
威佐夫博弈
,它比巴什博弈更复杂,同样感谢博客https://blog.csdn.net/niushuai666/article/details/6638943如果没有了解过巴什博弈的
单眼皮的根号3
·
2018-09-30 16:06
#
ICG博弈论
简单易懂的博弈论讲解(巴什博弈、尼姆博弈、
威佐夫博弈
、斐波那契博弈、SG定理)...
博弈论入门:巴什博弈:两个顶尖聪明的人在玩游戏,有一堆$n$个石子,每次每个人能取$[1,m]$个石子,不能拿的人输,请问先手与后手谁必败?我们分类讨论一下这个问题:当$n\lem$时,这时先手的人可以一次取走所有的;当$n=m+1$时,这时先手无论取走多少个,后手的人都能取走剩下所有的;当$n=k*(m+1)$时,对于每$m+1$个石子,先手取$i$个,后手一定能将剩下的$(m+1-i)$个都取
weixin_34220179
·
2018-09-22 16:00
简单易懂的博弈论讲解(巴什博弈、尼姆博弈、
威佐夫博弈
、斐波那契博弈、SG定理)
博弈论入门:巴什博弈:两个顶尖聪明的人在玩游戏,有一堆$n$个石子,每次每个人能取$[1,m]$个石子,不能拿的人输,请问先手与后手谁必败?我们分类讨论一下这个问题:当$n\lem$时,这时先手的人可以一次取走所有的;当$n=m+1$时,这时先手无论取走多少个,后手的人都能取走剩下所有的;当$n=k*(m+1)$时,对于每$m+1$个石子,先手取$i$个,后手一定能将剩下的$(m+1-i)$个都取
The_Virtuoso
·
2018-09-22 16:00
博弈论模版(Bash博弈,Nim博弈,
威佐夫博弈
,SG打表)
博主链接Bash--两人从一堆a个石子里面轮流取石子,每次最多去b个,取到最后一个石子获胜intmain(){intt;scanf("%d",&t);while(t--){inta,b,flag;scanf("%d%d",&a,&b);if(a%(b+1)==0)flag=2;elseflag=1;if(flag==1)printf("A\n");elseprintf("B\n");}}Nim--
Anoyer
·
2018-09-12 17:11
数论模版
1067 Q - 取石子游戏 (
威佐夫博弈
(Wythoff Game))
有两堆石子,数量任意,可以不同。游戏开始由两个人轮流取石子。游戏规定,每次有两种不同的取法,一是可以在任意的一堆中取走任意多的石子;二是可以在两堆中同时取走相同数量的石子。最后把石子全部取完者为胜者。现在给出初始的两堆石子的数目,如果轮到你先取,假设双方都采取最好的策略,问最后你是胜者还是败者。Input输入包含若干行,表示若干种石子的初始情况,其中每一行包含两个非负整数a和b,表示两堆石子的数目
Kuguotao
·
2018-05-29 20:15
【博弈
SG函数】
威佐夫博弈
问题详解链接及个人啰嗦补充
链接:百度百科的定理阐述文章仅供个人总结,如要转载请标明出处链接。个人补充:(1)求证:a[k]是递增的。证明:对于k>0,首先a[k]不等于a[i],i=0,1,...,k-1。其次,若存在k使得,a[k]a[k-1]。(2)求证:任何自然数都在奇异序列{a[i]}&{b[i]}中证明:对任何自然数n,由于a[i]是严格递增,故而必能找到一个正整数N,使得a[N]>n。而由于a[N]的定义,知道
ChineseYjh
·
2018-05-29 16:17
威佐夫博奕
转:https://blog.csdn.net/y990041769/article/details/21694007
威佐夫博弈
是博弈中的另一个经典模型。
小小佳F
·
2018-05-04 20:49
威佐夫博奕
#
博弈论
博弈论(巴什博奕,
威佐夫博弈
,尼姆博弈,斐波那契博弈)的一些结论
一.巴什博奕(BashGame):A和B一块报数,每人每次报最少1个,最多报4个,看谁先报到30。这应该是最古老的关于巴什博奕的游戏了吧其实如果知道原理,这游戏一点运气成分都没有,只和先手后手有关,比如第一次报数,A报k个数,那么B报5-k个数,那么B报数之后问题就变为,A和B一块报数,看谁先报到25了,进而变为20,15,10,5,当到5的时候,不管A怎么报数,最后一个数肯定是B报的,可以看出,
Anxdada
·
2018-05-04 16:38
博弈论
hdu 1527
威佐夫博弈
威佐夫博弈
的入门题两堆石子分别有a、b个,每次能从一堆中取走>=1个石子,或者从两队中取走同样多个石子奇异局势:面对奇异局势时,先手的人必输。
Dale_zero
·
2018-03-15 19:21
威佐夫博弈
巴什博弈
威佐夫博弈
nim博弈 斐波那契博弈
=EOF){if(n%(m+1)==0)printf("后手胜\n");elseprintf("先手胜\n");}return0;}2.
威佐夫博弈
两堆物品最多拿一堆最少拿一个#include#include
Com_ice
·
2017-12-12 20:47
博弈
简单博弈题
威佐夫博弈
定义:有两堆各若干个物品,两个人轮流从某一堆或同时从两堆中取同样多的物品,规定每次至少取一个,多者不限,最后取光者得胜。
czwzx_1996
·
2017-12-10 10:41
ACM算法
HDU-5973
威佐夫博弈
+大数
题目GameofTakingStones题解大数版的
威佐夫博弈
,用java写简单一点,但是java也没有高精度开方的函数,也要写一个牛顿迭代来开根。
bnyf
·
2017-09-20 18:34
ACM/ICPC
博弈入门---(巴什博弈,
威佐夫博弈
,nim博弈)
组合游戏定义:1、有且仅有两个玩家2、游戏双方轮流操作3、游戏操作状态是个有限的集合(比如:取石子游戏,石子是有限的,棋盘中的棋盘大小的有限的)4、游戏必须在有限次内结束5、当一方无法操作时,游戏结束。(一)巴什博奕1.游戏规则:有一堆n个物品,两人轮流从堆中取物品,每次取x个(1≤x≤m)。最后取光者为胜。2.分析:由于一次至多取m个,当n=m+1时,如果先取者取了x个(1intmain(){i
Crystal_0210_七
·
2017-08-09 19:11
博弈
51nod1072---
威佐夫博弈
(51nod基础:博弈)
【思路】模板呀,以及这位大佬的讲解:
威佐夫博弈
奇异局势:两个数的差值*(sqrt(5)+1)/2==min(两个数)。
起风了_唯有努力生存
·
2017-07-29 00:32
ACM竞赛
【数论】--SG博弈
ACM的进程
POJ1067(
威佐夫博弈
)
有两堆各若干的物品,两人轮流从其中一堆取至少一件物品,至多不限,或从两堆中同时取相同件物品,规定最后取完者胜利。直接说结论了,若两堆物品的初始值为(x,y),且x#includeintmain(){inta,b,c;while(scanf("%d%d",&a,&b)!=EOF){if(a>b){c=a;a=b;b=c;}c=b-a;intw=(int)(((sqrt(5.0)+1.0)/2.0)*
Cai_Haiq
·
2017-07-23 16:31
博弈论
poj
威佐夫博弈
(hdu 1527和2177)
威佐夫博弈
有关证明如果起始状态为奇异局势,则为先手必败;最后有个公式,判断给出的(a,b)是否为奇异局势;a=[k(1+√5)/2],b=a+k(k=0,1,2,…,n方括号表示取整函数)k=[a(√5
acmer_zp
·
2017-03-07 21:32
博弈
HDU
威佐夫博弈
原题链接:http://acm.hdu.edu.cn/showproblem.php?pid=1527取石子游戏TimeLimit:2000/1000MS(Java/Others)MemoryLimit:65536/32768K(Java/Others)TotalSubmission(s):6717AcceptedSubmission(s):3653ProblemDescription有两堆石子,
Special__Yang
·
2017-01-13 21:39
HDU
威佐夫博弈
摘自:点击打开链接威佐夫博奕(WythoffGame)定义:有两堆各若干个物品,两个人轮流从某一堆或同时从两堆中取同样多的物品,规定每次至少取一个,多者不限,最后取光者得胜。思考:把两堆石子的集合写为(a,b)不失一般性令我们只考虑a<=b的情况;我们依次考虑(0,0)-(0,*)……(n,n)-(n,*)的情况。把所有状态看成一个二维数组,我们只需考虑上三角的情况;(0,0)必败点,故(0,*)
cillyb
·
2016-10-15 17:17
博弈
HDU1527——取石子游戏(
威佐夫博弈
)
题目链接这道题是
威佐夫博弈
的一道入门题,问的十分简单,就是套
威佐夫博弈
的两个公式即可,因此顺带说说
威佐夫博弈
,
威佐夫博弈
和巴什博奕的场景很类似,所以索性就套用我在巴什博奕那篇文章中所描述的的那个场景。
Jason_crawford
·
2016-08-05 19:59
————算法————
博弈论
hdu2177 取(2堆)石子游戏 (
威佐夫博弈
)
取(2堆)石子游戏TimeLimit:3000/1000MS(Java/Others)MemoryLimit:32768/32768K(Java/Others)TotalSubmission(s):2054AcceptedSubmission(s):1238ProblemDescription有两堆石子,数量任意,可以不同。游戏开始由两个人轮流取石子。游戏规定,每次有两种不同的取法,一是可以在任意
随心丶而遇
·
2016-08-05 00:28
ACM—数论
ACM—博弈
各OJ刷题专栏
HDU 5754 博弈(
威佐夫博弈
)
这个题除了皇后的可以套用一下
威佐夫博弈
以外其他的都可以找规律找出来,主要为了学习一下
威佐夫博弈
,
威佐夫博弈
:给两堆石子,每次都可以从其中一堆石子中取n个石子或者从两堆石子中都取n个石子,最后将石子取完的获胜
THE___BEST
·
2016-07-26 20:05
规律
博弈
博弈简单入门
if(n%(m+1)==0)先手输else先手赢2.
威佐夫博弈
(wzf)有两堆石子,数量大于1且任意。两种取法:1.从一堆中取人一个.2.从两堆中取相同个.问先手赢?
AleiChen
·
2016-07-20 20:22
ACM
威佐夫博弈
威佐夫博弈
:有两堆各若干个物品,两个人轮流从某一堆或同时从两堆中取同样多的物品,规定每次至少取一个,多者不限,最后取光者得胜。
Jaihk662
·
2016-07-07 18:09
数论
poj1067
威佐夫博弈
取石子游戏TimeLimit:1000MSMemoryLimit:10000KTotalSubmissions:39035Accepted:13074Description有两堆石子,数量任意,可以不同。游戏开始由两个人轮流取石子。游戏规定,每次有两种不同的取法,一是可以在任意的一堆中取走任意多的石子;二是可以在两堆中同时取走相同数量的石子。最后把石子全部取完者为胜者。现在给出初始的两堆石子的数目
mymilkbottles
·
2016-05-10 15:00
POJ1067 取石子游戏
题意:
威佐夫博弈
。看着挺好的就做了,某年的NOI题。
Monster__Yi
·
2016-05-03 07:00
数学
威佐夫博弈
博弈论小结
并介绍了三种经典博弈模型:巴什博奕、
威佐夫博弈
、尼姆博弈和其拓展内容:k倍动态减法博弈、阶梯博弈等。然后介绍了SG函数的概念,和几类特殊的SG游戏:Anti-SG、Every-SG、Multi-SG。
xaphoenix
·
2016-04-25 23:00
NYOJ-837-Wythoff Game
WythoffGame时间限制:1000ms|内存限制:65535KB难度:1描述最近ZKC同学在学博弈,学到了一个伟大的博弈问题–
威佐夫博弈
。相信大家都学过了吧?没学过?没问题。
qq_32680617
·
2016-04-19 08:00
水题
威佐夫博弈
描述:有两堆物品,各有若干个物品,两人轮流取物品,每次可以从一堆中取若干个,或者从两堆中取相同多的物品,每次至少取一个,谁先不能取,谁就输了;一些定义:如果先取者必输,那么称这种局面叫奇异局势;例如:(0,0),(1,2),(3,5),(4,7),(6,10)……如何判定是否为奇异局势:对于(a,b),如果满足ak=[k(1+√5)/2],bk=ak+k(k=0,1,2,...n方括号表示取整函数
LeeHolmes
·
2016-04-17 23:00
博弈论
威佐夫博弈
威佐夫博弈
一共有2堆石子,每堆石子个数也是任意的,双方轮流从中取出石子1.每次有2种不同的取法,一是可以在任意的一堆中取走任意多的石子;二是可以在两堆中同时取走相同数量的石子。
winycg
·
2016-03-27 22:00
威佐夫博弈
威佐夫博弈
Description有两堆石子,数量任意,可以不同。游戏开始由两个人轮流取石子。游戏规定,每次有两种不同的取法,一是可以在任意的一堆中取走任意多的石子;二是可以在两堆中同时取走相同数量的石子。最后把石子全部取完者为胜者。现在给出初始的两堆石子的数目,如果轮到你先取,假设双方都采取最好的策略,问最后你是胜者还是败者。Input输入包含若干行,表示若干种石子的初始情况,其中每一行包含两个非负整数a和
fengsigaoju
·
2016-03-16 22:00
【POJ1067】取石子游戏(
威佐夫博弈
)
题目描述传送门题解记个公式吧。代码#include #include #include #include usingnamespacestd; constdoubleq=(sqrt(5.0)+1)/2.0; inta,b,k; intmain(){ while(~scanf("%d%d",&a,&b)){ if(a>b)swap(a,b); intk=b-a; if(a==(int)(k*q)
Clove_unique
·
2016-03-14 22:00
poj
博弈
[POJ1067]取石子游戏(
威佐夫博弈
)
题目描述传送门题解
威佐夫博弈
。记个公式吧。
Clove_unique
·
2016-03-13 18:51
题解
博弈
[POJ1067]取石子游戏(
威佐夫博弈
)
题目描述传送门题解
威佐夫博弈
。记个公式吧。
Clove_unique
·
2016-03-13 18:51
题解
博弈
【POJ1067】取石子游戏(
威佐夫博弈
)
题目描述传送门题解
威佐夫博弈
。记个公式吧。
Clove_unique
·
2016-03-13 18:00
poj
博弈
博弈
http://www.cnblogs.com/kuangbin/archive/2011/08/28/2156426.html
威佐夫博弈
:ak=[(√5+1)/2*k],bk=ak+k,面对奇局势,输,
sinat_33397705
·
2016-03-02 23:00
巴什博弈+
威佐夫博弈
+Nim博弈
巴什博弈只有一堆n个物品,两个人轮流从这堆物品中取物,规定每次至少取一个,最多取m个。最后取光者得胜。很容易想到当n%(m+1) using namespace std; int main() { int k,n,m; doubler=0.6180339887,R=1/r; while(scanf("%d%d",&n,&m)+1) {
cacyth
·
2016-02-06 17:00
HD 2177(
威佐夫博弈
入门)
取(2堆)石子游戏TimeLimit:3000/1000MS(Java/Others) MemoryLimit:32768/32768K(Java/Others)TotalSubmission(s):1730 AcceptedSubmission(s):1049ProblemDescription有两堆石子,数量任意,可以不同。游戏开始由两个人轮流取石子。游戏规定,每次有两种不同的取法
zhaop
·
2016-02-05 15:00
威佐夫博弈
变形 poj2348 Euclid's Game
传送门:点击打开链接题意:给你两个数字m,n,每次可以使得max{m,n}减去min{m,n}*k,后来的数字必须要>=0如果有一个数字变成了0,那么就算赢思路:因为只有两个状态,所以我们可以通过状态的转移递推找到规律,然后会发现和黄金分割数有关。。#include #include #include #include #include #include #include #include #in
qwb492859377
·
2015-12-10 18:00
威佐夫博弈
hdu1527 取石子游戏
最后取完的人胜利,问先手是否必赢思路:
威佐夫博弈
博弈,满足黄金分割,且每个数字只会出现一次。
qwb492859377
·
2015-12-10 18:00
POJ 1067 取石子游戏 [博弈]
题意:
威佐夫博弈
。 思路:看了很多证明都没看懂。最后决定就记住结论好了。
·
2015-11-13 17:40
poj
Wythoff Game
【
威佐夫博弈
】 有两堆物品,分别有物品数a与b(a, b∈N*),有两人A与B轮流从这两堆里去物品。取法有两种:①从其中一堆中取至少一个物品;②从每一堆取相同个数的物品(每堆至少取一个)。
·
2015-11-13 15:57
game
poj 1067 取石子游戏——
威佐夫博弈
(Wythoff Game)
zz: http://hi.baidu.com/zhulei632/blog/item/657efefaf299b1dbb58f3152.html 问题分析:
威佐夫博弈
·
2015-11-13 06:32
game
威佐夫博弈
(Wythoff Game)初识 HDU 1527 POJ 1067
取石子游戏 Description 有两堆石子,数量任意,可以不同。游戏开始由两个人轮流取石子。游戏规定,每次有两种不同的取法,一是可以在任意的一堆中取走任意多的石子;二是可以在两堆中同时取走相同数量的石子。最后把石子全部取完者为胜者。现在给出初始的两堆石子的数目,如果轮到你先取,假设双方都采取最好的策略,问最后你是胜者还是败者。 Input 输入包含若干行,表示若干种石子的初始
·
2015-11-12 17:24
game
关于一些博弈算法的总结
在学习acm做题的时候,遇到了很多的关于博弈的题目,下面做个总结: 1.威佐夫博奕 (1)内容:
威佐夫博弈
(Wythoff Game):有两堆各若干个物品,两个人轮流从某一堆或同时从两堆中取同样多的物品
·
2015-11-11 17:03
算法
POJ 1067
威佐夫博弈
View Code 1 #include<stdio.h> 2 #include<math.h> 3 4 int main() 5 { 6 int a,b; 7 double con=(1+sqrt(5.0))/2; 8 while(scanf("%d%d",&a,&b)!=EOF)
·
2015-11-11 06:52
poj
poj1067-取石子游戏 (
威佐夫博弈
)
http://poj.org/problem?id=1067 取石子游戏 Time Limit: 1000MS Memory Limit: 10000K Total Submissions: 36753 Accepted: 12446 Description 有两堆石子,数量任意,可以不同。游戏
·
2015-11-09 14:38
poj
POJ 1067 取石子游戏(
威佐夫博弈
-黄金分割)
题目链接:http://poj.org/problem?id=1067 题意:有两堆石子,数量任意,可以不同。游戏开始由两个人轮流取石子。游戏规定,每次有两种不同的取法,一是可以在任意的一堆中取走任意多的石子;二是可以在两堆中同时取走相同数量的石子。最后把石子全部取完者为胜者。现在给出初始的两堆石子的数目,如果轮到你先取,假设双方都采取最好的策略,问最后你是胜者还是败者。 思路:石子为(n,m
·
2015-11-09 14:01
poj
HDU 1527 取石子游戏
只是我第一道博弈题,这个是
威佐夫博弈
所谓
威佐夫博弈
,是ACM题中常见的组合游戏中的一种,大致上是这样的:有两堆石子,不妨先认为一堆有 10,另一堆有 15 个,双方轮流取走一些石子,合法的取法有如下两种
·
2015-11-08 10:09
HDU
威佐夫博弈
(证明)
版权声明:转载时请以超链接形式标明文章原始出处和作者信息及本声明http://yjq24.blogbus.com/logs/42826226.html大致上是这样的:有两堆石子,不妨先认为一堆有10,另一堆有15个,双方轮流取走一些石子,合法的取法有如下两种:1)在一堆石子中取走任意多颗;2)在两堆石子中取走相同多的任意颗;约定取走最后一颗石子的人为赢家,求必败态(必胜策略)。 &n
·
2015-11-02 11:10
上一页
1
2
3
4
5
下一页
按字母分类:
A
B
C
D
E
F
G
H
I
J
K
L
M
N
O
P
Q
R
S
T
U
V
W
X
Y
Z
其他