博弈论
文章平均质量分 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 · 1450 阅读 · 0 评论