博弈论-----------------------
文章平均质量分 59
Toooooocold
这个作者很懒,什么都没留下…
展开
-
HDU 5996 dingyeye loves stone
阶梯博弈,即奇数堆的Nim游戏。#includeusing namespace std;const int MAXN = 1e5+5;vectorint> G[MAXN];int a[MAXN];int sum = 0;void dfs(int fa, int u, int cnt) { if(cnt%2) sum ^= a[u]; for(auto v:原创 2017-01-21 14:14:44 · 209 阅读 · 0 评论 -
Codeforces 768E Game of Stones
NIM游戏改编,每堆石头同一种操作不能超过两次。可以用SG[i][2^i-1]推出所有状态,复杂度是O(n*n*2^n)。所以用记忆化搜索,当第一维状态为num时,第二维2^(num-1)前的所有1都可以去掉,因为那些点不会再被取到了。代码:#includeusing namespace std;typedef long long ll;typedef pair P原创 2017-02-22 15:36:33 · 569 阅读 · 0 评论 -
UVALive 5882 Racing Car Trail
http://www.cnblogs.com/jffifa/archive/2011/12/17/2291069.html二分图博弈:1.博弈者人数为两人,双方轮流进行决策。2.博弈状态(对应点)可分为两类(状态空间可分为两个集合),对应二分图两边(X集和Y集)。任意合法的决策(对应边)使状态从一类跳转到另一类。(正是由于这个性质使得问题可以用二分图描述)3.不可以转移至已访问原创 2017-06-05 00:45:47 · 418 阅读 · 0 评论 -
HDU 6199 gems gems gems
Problem:给你n个不同价值的宝石,排成一排,两个人轮流拿,若前者拿了k个,后者只能拿k或k+1个,第一个人最开始只能拿1个或2个,他要使两人之差最大,第二个人要使两人之差最小,两个人都是最优的拿法,问其结果。Idea: DP。原创 2017-09-13 17:00:56 · 324 阅读 · 0 评论