博弈论
文章平均质量分 85
utoppia
这个作者很懒,什么都没留下…
展开
-
hdu 2176 取(m堆)石子游戏
题目描述: 取(m堆)石子游戏Time Limit: 3000/1000 MS (Java/Others) Memory Limit: 32768/32768 K (Java/Others)Total Submission(s): 805 Accepted Submission(s): 479Problem Description原创 2012-10-22 19:40:52 · 844 阅读 · 0 评论 -
Ural 1195 Ouths and Crosses
Ural 1195题目大意就是给定一个3X3的格子问其状态是否是必胜态。因为数据量小的可怜,我们直接暴力搜索就可以搞定。CODE:#include#include#include#include#include#include#include#include#include#includeusing namespace std;#define F原创 2013-08-07 12:16:05 · 887 阅读 · 0 评论 -
Ural 1282. Game Tree
Ural 1282题目的意思比较坑爹,大意就是1,0,-1表示的是到这个点的话第一个人会赢我们就知道其实第一个人希望越大越好第二个人希望越小越好那么就变成博弈搜索。CODE:#include#include#include#include#include#include#include#include#include#includeusing nam原创 2013-08-07 14:16:45 · 661 阅读 · 0 评论 -
Ural 1465 Pawn Game
Ural 1465Nim游戏变形,sg算子的应用吧。我们知道这样的棋盘分布唯一的转移状态只有三种形式,然后暴力求出sg值就行。但是题目的数据量太大,我们大表发现其实这里边室友循环的,于是就可以解决这些问题了。CODE:#include#include#include#include#include#include#include#include#incl原创 2013-08-08 01:04:45 · 921 阅读 · 0 评论 -
Ural 1397. Points Game
Ural 1397. Points Game假设玩家A取的石子集合是A,B的是Bval = Sum( distant(pi,pj) ) { i = Sum( distant(pi,pj) ) {i,j belong to Q} - Sum( distant(pi,pj) ) { i belong to B && j belong to Q}我们记录每个石子原创 2013-08-23 13:13:57 · 861 阅读 · 0 评论 -
Ural 1540. Battle for the Ring
Ural 1540. Battle for the Ring题大意就是给你一堆石子,每个石子都有权重,每次取一堆中的一个石子,将这堆石子中所有权重比该石子小的全部拿掉,分成若干堆新石子。不能操作的输。用状态sg[cur][l][r]表示第cur堆石子l 到 r的sg值。记忆化搜索之。。。#include#include#include#include#i原创 2013-08-23 12:39:19 · 786 阅读 · 0 评论 -
博弈论大作战之 PART1
HDU 1047:dp一下#include#include#include#include#include#include#include#include#includeusing namespace std;#define FOR(i,a,b) for(int (i)=(a);(i)<=(b);(i)++)#define DOR(i,a,b) for(int (i)原创 2013-08-14 20:35:53 · 785 阅读 · 0 评论 -
博弈论大作战之 PART2
HDU1536 S-Nim 先暴力预处理所有的值得sg值,然后就是一样的。#include#include#include#include#include#include#include#include#includeusing namespace std;#define FOR(i,a,b) for(int (i)=(a);(i)<=(b);(i)++)#原创 2013-08-16 20:07:13 · 734 阅读 · 0 评论 -
POJ2068 Nim
POJ2068 Nim简单的博弈dp,记忆话搜索可能好些一点。#include#include#include#include#include#include#include#include#includeusing namespace std;#define FOR(i,a,b) for(int (i)=(a);(i)<=(b);(i)++)#define DO原创 2013-08-17 11:43:27 · 658 阅读 · 0 评论 -
Ural 1087. The Time to Take Stones
Ural 1087我们需要知道一些博弈论的小知识。我们用win[i]来表示i的状态;win[i]=1表示比胜态win[i]=0表示必败态那么win[i] = 0 当且仅当 其所有的子状态 win[j] = 1; win[i] = 1 当且仅当 至少有一个子状态 win[j]=0;我们用类似dp的方法求出win[n]就解决了这个问题。原创 2013-08-07 10:45:56 · 722 阅读 · 0 评论 -
POJ 3533 Light Switching Game
POJ 3533 Light Switching Game三维的翻硬币游戏,就是传说的Nim积。知道这个并且有模板,万事不愁。。#include#include#include#include#include#include#include#include#includeusing namespace std;#define FOR(i,a,b) for(int原创 2013-08-19 17:07:29 · 1002 阅读 · 0 评论 -
sgu 153 Playing with matches
153. Playing with matchestime limit per test: 0.5 sec.memory limit per test: 4096 KBinput: standard inputoutput: standard outputLittle boy Petya plays a game with his friend. They原创 2012-11-04 23:05:10 · 392 阅读 · 0 评论 -
POJ 3537 Crosses and Crosses
POJ 3537 Crosses and Crosses我们取一个位置之后,对手在这个点的左边和右边的两点之内都不能选。相当于一次取了五个位置。所以 sg[i] = mex{ sg[j-3]^sg[i-j-2] | 1#include#include#include#include#include#include#include#include#include原创 2013-08-19 11:36:35 · 749 阅读 · 0 评论 -
POJ 2599 A funny game
POJ 2599 A funny game树上的dp博弈,很easy的。#include#include#include#include#include#include#include#include#includeusing namespace std;#define FOR(i,a,b) for(int (i)=(a);(i)<=(b);(i)++)#原创 2013-08-19 12:15:10 · 618 阅读 · 0 评论 -
Ural 1180 Stone Game
Ural 1180超级入门级别的组合游戏。Alice赢的可能就是这个数不是3的倍数,否则就是必败态。当然,一切都是从最简单的开始。开始Game时代。。。CODE:#include#include#include#include#include#include#include#include#include#includeusing namespa原创 2013-08-07 00:21:07 · 625 阅读 · 0 评论 -
Ural 1023. Buttons
Ural 1023我们知道n个石子,每次取1-L个那么n是必败态就是 n%(L+1)==0;于是员问题就等价于求n的大于3的约数,然后将这个数减一就是答案。CODE:#include#include#include#include#include#include#include#include#include#includeusing namespa原创 2013-08-07 00:35:48 · 796 阅读 · 0 评论 -
POJ 3710 Christmas Game
POJ 3710 Christmas Game图的删边游戏:由于这个图比较特殊,我们推出如果环是奇环,则相当于加一条边,偶数环就相当于删除环,变成一个点。不会缩环的默默YY了一个多小时才勉强搞定。#include#include#include#include#include#include#include#include#includeusing na原创 2013-08-19 15:02:34 · 616 阅读 · 0 评论 -
POJ 1704 Georgia and Bob
POJ 1704 Georgia and BobNim 游戏的变形 阶梯博弈 的再变形:两两配对之后,其实就相当于取石子游戏。#include#include#include#include#include#include#include#include#includeusing namespace std;#define FOR(i,a,b)原创 2013-08-19 15:04:36 · 638 阅读 · 0 评论 -
POJ 2931 Procrastination
POJ 2931 Procrastination貌似是经典的不平等博弈。。参考大牛论文《浅谈如何解决不平等博弈问题》 —— 方展鹏然后知道了有个叫做 surreal number 的玩意,然后按照论文的思路AC了。莫名不知道其妙。。贴上参考代码求大神解释为何这样就可以。。#include#include#include#include#include原创 2013-08-19 16:36:22 · 927 阅读 · 0 评论 -
POJ1678 I Love this Game!
POJ1678 I Love this Game!博弈DP,蛮有意思的一道题目。。。#include#include#include#include#include#include#include#include#includeusing namespace std;#define FOR(i,a,b) for(int (i)=(a);(i)<=(b);原创 2013-08-16 23:30:28 · 640 阅读 · 0 评论