博弈论
文章平均质量分 69
BraketBN
这个作者很懒,什么都没留下…
展开
-
【BZOJ1115】石子游戏Kam【台阶NIM】
考虑在第i个石子堆里取了x个石子,那么第i+1个石子堆就可以多取x个石子,可以等效为将这x个石子挪到了下一个石子堆里,就变成了台阶NIM。不想写边界特判,结果忘了数组清0(a[n + 1] = 0),就WA了。#include const int maxn = 1005;int n, a[maxn];inline int iread() { int f = 1原创 2016-02-08 16:33:27 · 750 阅读 · 3 评论 -
【SPOJ-PORTALUN】Portal【SG函数】
人生中第一道自己推出+写对的博弈论的题...题面是portal,也算是我比较喜欢的游戏了。给出一个无向图,每个点有编号,但是只能从大的编号的点走向小的编号的点,无法走的人输。我的思路是,变为一个有向图,从小的向大的连边,每个点记录入度。显然入度为0的点的SG函数等于0。类似拓扑排序,将入度为0的点放入队列,每次更新与它相邻的点(这里只会更新编号比它大的点原创 2016-02-16 09:04:49 · 453 阅读 · 0 评论 -
【BZOJ1022】[SHOI2008]小约翰的游戏John【Anti-Nim】
【题目链接】传说中的anti-nim...orz【dzy的blog】/* Footprints In The Blood Soaked Snow */#include inline int iread() { int f = 1, x = 0; char ch = getchar(); for(; ch '9'; ch = getchar()) f = ch =原创 2016-03-27 23:03:07 · 573 阅读 · 1 评论 -
【BZOJ3609】[Heoi2014]人人尽说江南好【博弈】【打表找规律】
【题目链接】没有子游戏,所以SG应该是用不上了。然后来愉快的写暴力吧。#include #include #include using namespace std;const int maxn = 1005;int n, m, num[maxn];inline bool check() { bool flag = 1; for(int i = 1; i 0原创 2016-04-27 09:08:53 · 1451 阅读 · 0 评论