博弈论
博弈论的各种提醒
JayGram
这个作者很懒,什么都没留下…
展开
-
(牛客每日一题)[SHOI2008]小约翰的游戏JOHN(Anti-Nim)
这是一道裸Anti-Nim游戏先手必胜条件(满足下面两个其中一个就行):*每一块石子的数量都为1,且总SG值为0时*至少有一块石子的数量大于1,且总SG值不为0时#include <bits/stdc++.h>using namespace std;int a[100];int main(){ ios::sync_with_stdio(false); cin.tie(0);cout.tie(0); int t;cin>>.原创 2021-11-11 17:04:40 · 2387 阅读 · 0 评论 -
博弈论进阶之Anti-SG游戏与SJ定理(转载)
转载:博弈论进阶之Anti-SG游戏与SJ定理 - 走看看本内容会涉及到Anti-Nim,Anti-SG与SG定理前言Anti-Nim游戏是这样的有两个顶尖聪明的人在玩游戏,游戏规则是这样的:有(n)堆石子,两个人可以从任意一堆石子中拿任意多个石子(不能不拿),拿走最后一个石子的人失败。问谁会胜利博弈分析Anti-Nim游戏与Nim游戏唯一的不同就是两人的胜利条件发生了改变,不过这并不影响我们对结论的推导对于这个游戏,先手必胜有两种情况当每堆石子都只有一个,且游戏的SG转载 2021-11-11 16:47:58 · 206 阅读 · 0 评论 -
博弈论进阶之SG函数(转载)
转载地址:博弈论进阶之SG函数 - 自为风月马前卒 - 博客园SG函数个人理解:SG函数是人们在研究博弈论的道路上迈出的重要一步,它把许多杂乱无章的博弈游戏通过某种规则结合在了一起,使得一类普遍的博弈问题得到了解决。从SG函数开始,我们不再是单纯的同过找规律等方法去解决博弈问题,而是需要学习一些博弈论中基本的定理,来找到他们的共同特点那么就先介绍几个最基本的定理(也可以叫常识)吧基本定理ICG游戏1.游戏有两个人参与,二者轮流做出决策。且这两个人的决策都对自己最有利。2.当有转载 2021-11-11 16:45:16 · 124 阅读 · 0 评论 -
TZOJ:3359: 石子游戏-B(给定取石子范围)
打表找规律,或者写几个sg答案来找规律。解博弈论的题目看数据范围。一般数据范围在1000以内可以用sg函数解决。若在10000以内sg函数不一定能解,时间复杂度不好说。10000以上,sg函数就很难说了,一用就超时。这时候就要暴力打表找规律。这道题数据范围达到int了,打个表找找规律。找到了x%(m+1)==0时就是Lost,否则就是Win。#include <iostream>using namespace std;int n,m;int sg(int x){原创 2021-11-10 20:49:35 · 426 阅读 · 0 评论 -
TZOJ:6624:取石子游戏2(集合-Nim游戏取石子方法)
首先这道题一看就是一道裸裸的集合-Nim游戏。关键在于必胜态的情况下面那两个数怎么输出了。我这里小提一下集合Nim游戏的解题方式:对每一堆石子求他的sg值,再把每一堆的sg值^起来就行。所以很明显对于sg(a1)^sg(a2)^...^sg(an)=res如果res≠0,说明就是必胜态,等于0说明是必败态。必胜态的时候,该怎么取石子呢?很明显,必胜态要必胜的情况下,必须是取完后把必胜态转为必败态。即(假如在ai堆中取了x个石子)sg(a1)^sg(a2)^...^sg原创 2021-11-11 12:57:14 · 2801 阅读 · 0 评论