
博弈
WildKid1024
骐骥一跃,不能十步。驽马十驾,功在不舍!
展开
-
Nim游戏的一个扩展——51nod 1661 黑板上的游戏+LA 5059 Playing With Stones
前几天做过一道题目,是Nim游戏的一个扩展,也不能说扩展吧,只是说另一种常见的状态。问题引入:给定n堆石子,每堆石子有vi(1思考:当k==2的时候,显然就退化成了la 5059 的题目,我们以此为基础来考虑,肯定要先计算出sg的函数表,然后观察规律,lrj在训练指南中说的很清楚,打表的规则也很简单,下面给出lrj所打出的表: 0 1 0 2 1 3 0 4 2 5 当然原创 2016-08-30 21:11:44 · 798 阅读 · 0 评论 -
poj 3710——Christmas Game
题意:给定多个无向有环图,两个人在树上博弈,问博弈结果。思路:如果没有环,则是一个标准的树上博弈,那么满足 1. 叶子节点的sg为0 2. 中间节点的sg为所有儿子节点的sg+1的异或和存在环的话,可以缩点,偶数是0,奇数为1,具体证明看《组合游戏略述——浅谈SG游戏的若干拓展及变形》#include <cstdio>#include <iostream>#include <cstring>原创 2016-11-10 16:15:16 · 460 阅读 · 0 评论 -
hdu 3094——A tree game
题意:一颗树,然后两个操作,一是删除一条边,二是移除不与根相连的部分。思路:树上博弈的基础题目。code:#include <bits/stdc++.h>using namespace std;const int N=1e5+5;std::vector<int> v[N];int dfs(int u,int p){ int ans=0; for (int i=0;i<v[u].原创 2016-11-10 16:43:06 · 509 阅读 · 0 评论 -
hdu 3590——PP and QQ
题意:有多颗树,然后树上删边游戏,最后一个删的人输。思路:其实就是树上删边游戏和anti-sg结合嘛。 对于树上删边: 1. 叶子节点的sg为0 2. 中间节点的sg为所有儿子节点的sg+1的异或和 对于anti-sg:先手必胜态当且仅当 1. sg异或值不为0且某个单一游戏的sg>1 2. sg异或为0且不存在sg>1的单一游戏 组合起来就好了。#include <bits/stdc原创 2016-11-10 17:06:43 · 614 阅读 · 0 评论 -
博弈论探讨及题目总结
转载自爱神博客:http://blog.youkuaiyun.com/acm_cxlove/article/details/7854526首先当然要献上一些非常好的学习资料: 基础博弈的小结:http://blog.youkuaiyun.com/acm_cxlove/article/details/7854530 经典翻硬币游戏小结:http://blog.youkuaiyun.com/acm_cxlove/article/det转载 2016-11-10 17:55:27 · 1707 阅读 · 0 评论 -
hdu 5299——Circles Game
题意:给定n个嵌套的圆,每次可以删除圆以及该圆包含的所有圆,不能删除者输。思路:把每个圆看成一个点,把圆的包含关系看成一条单向边,那么就化成了一棵树。 然后就是裸的树上删边游戏模型了。 对于树上删边游戏: 1. 叶子节点的sg为0 2. 中间节点的sg为所有儿子节点的sg+1的异或和实际上该题目为树上删边游戏的变形。#include <bits/stdc++.h>using namespa原创 2016-11-10 20:36:16 · 381 阅读 · 0 评论