博弈
博弈
快乐撸代码
一个今天胜过两个明天
展开
-
SG函数(博弈) Fibonacci again and again
https://zhuanlan.zhihu.com/p/53948422 HDU — 1848 将这篇文章认真的看了一遍 ,虽然不是很懂 ,但是脑子里有了一个模型,链接里的图 (看的顺序 是 0,1,2,3,4,5,g[i]]得出过程)换成这道题 ,完全OK #include<stdio.h> #include<string.h> int f[20],sg[100...原创 2020-03-26 20:54:39 · 103 阅读 · 0 评论 -
威佐夫博弈
给出2堆石子 ,有两种操作 ,第一种:在一堆中取出任意数量的石子 ;第二种 :在两堆中取出相同数量的石子 ; 假设 :a = 1 , b = 2 ,很容易可以看出 ,不管怎么拿,先手都输,这种局势叫奇异局势 (0,0) (1,2) (3,5) (4,7) (6,10)…… 每对得差值都是 k (0,1 ,2 ,3 ,4 ,5 ) ,然后 数学分析(迷迷糊糊,具体看百度) 发现(b-a)...原创 2020-03-24 21:58:09 · 116 阅读 · 0 评论 -
巴什博弈详解 HDU-1846
描述:一堆石子有 n 个 ,两个人开始轮流取,每人最多取m个,最少取1个,最后一个将石子取完的是赢家。 思路:对于先手来说,如果有(m+1)个石子,先手取 k 个,后手就可以取 m+1-k 个,所以有式子 n=(m+1)*r+s ,s<=m 时,先手可以将s先拿走,然后先手变成了后手 ,保持取r个回合,就一定能赢 撸代码: #include<stdio.h> #inc...原创 2020-03-23 21:01:13 · 201 阅读 · 0 评论 -
nim博弈详解 LightOJ - 1253
主要是写一下nim博弈的理解,这个题有点奇怪,不知道为什么判断奇偶性,如果有大佬知道还请讲解一下. //nim博弈 //a[0]~a[i] 异或结果为k 若k=0 则为平衡态 否则为非平衡态 //平衡态转化为非平衡态 :一定有 a[n]^k<a[n] a[0]^……a[n]^k……^a[i]=0 //二进制为什么能判断平衡态 并且转化 将每一对转化为二进制的小堆 /*,每个正整数都有对应...原创 2019-09-25 19:34:35 · 181 阅读 · 0 评论