博弈
_pkm_
love coding
展开
-
HDU5512 Pagodas(博弈)
题意:有n个位置修建佛塔,每个地方只能被修建一次,初始有a,b两个位置,每次修建的位置要满足,是i=k+j或者i=k-j。这样两个人轮流继续,不能修建者输。 解法:一位大神说,看到a-b,就往gcd上想,大胆猜测 n/gcd(a,b)的奇偶#include<bits/stdc++.h>using namespace std;#define LL long long#define pb pus原创 2015-11-04 16:29:42 · 345 阅读 · 0 评论 -
Codeforces Round #330 (Div. 2)C. Warrior and Archer(博弈,贪心)
题目链接 题意:n个数,俩人轮流删除数,使得最后剩下2个,一个希望俩数之间的距离最小,一个希望剩下的距离最大 解答:证明见官方题解,假设最后剩下[L,R ]的区间,那么一定是一个人删了[L,R]之间的数,另一个删除了[L,R]之外的数字。#include<bits/stdc++.h>using namespace std;#define LL long long#define pb pus原创 2015-11-20 17:43:58 · 573 阅读 · 0 评论 -
博弈论
上一期的文章里我们仔细研究了Nim游戏,并且了解了找出必胜策略的方法。但如果把Nim的规则略加改变,你还能很快找出必胜策略吗?比如说:有n堆石子,每次可以从第1堆石子里取1颗、2颗或3颗,可以从第2堆石子里取奇数颗,可以从第3堆及以后石子里取任意颗……这时看上去问题复杂了很多,但相信你如果掌握了本节的内容,类似的千变万化的问题都是不成问题的。 现在我们来研究一个看上去似乎更为一般的游戏:给定一个有转载 2016-07-21 20:14:20 · 430 阅读 · 0 评论 -
HDU5724(组合游戏,博弈论)
题目链接 先学习一波算法,找到一篇很好的博文,here 按照里面的理论,就可以做了 SG定理,以及2个关于必胜,必败状态的定理 找SG值,一般是 找规律,打表,递推,动态规划等方法 本题按照定理,递推出就可以了#include<bits/stdc++.h>using namespace std;#define cl(a,b) memset(a,b,sizeof(a))#define原创 2016-07-21 20:10:19 · 364 阅读 · 0 评论