摘要: 应该说,就是道DP题,最近用记忆化搜索用得老爽了,就用了~/* * hdu1521/win.cpp * Created on: 2011-10-3 * Author : ben */#include <cstdio>#include <cstdlib>#include <cstring>#include <cmath>#include <algorithm>#include <iostream>#include <queue>using namespace std;const int MAXN = 12;con 阅读全文
posted @ 2011-10-03 16:11 moonbay 阅读(172) 评论(0) 推荐(0) 编辑
摘要: 首先要能推出公式,结果其实就是C(n,m),接下来求C(n,m)就用到了公式C(n,m)=C(n-1,m)+C(n-1,m-1)。我用记忆化搜索做的,觉得记忆化搜索写起来就是简捷啊~/* * hdu1799/win.cpp * Created on: 2011-10-3 * Author : ben */#include <cstdio>#include <cstdlib>#include <cstring>#include <cmath>#include <algorithm>#include <iostream>#in 阅读全文
posted @ 2011-10-03 14:30 moonbay 阅读(197) 评论(0) 推荐(0) 编辑
摘要: 就是连连看游戏。开始用优先队列广搜,WA,跟海峰讨论了一下,发现只要一次走一行,就可以只用普通队列即可,又是一道泪流满面的题目啊~~~~~/* * hdu1175/win.cpp * Created on: 2011-10-2 * Author : ben */#include <cstdio>#include <cstdlib>#include <cstring>#include <cmath>#include <algorithm>#include <iostream>#include <queue>usi 阅读全文
posted @ 2011-10-03 12:49 moonbay 阅读(177) 评论(0) 推荐(0) 编辑
摘要: 博弈论:本篇主要以取石子游戏为例,简单介绍以下博弈论。共有 3 种类型:(一)巴什博弈(Bash Game):只有一堆n个物品,两个人轮流从这堆物品中取物,规定每次至少取一个,最多取 m 个。最后取光者得胜。显而易见,当剩余的石子个数为 1,2...m 时,此状态必为必胜状态,由此可知,当剩余的石子个数为 m+1时为必败状态,但是当剩余石子个数为 m+2, m+3 ... 2m+1 时,玩家可以取走一定量的石子,使剩余的石子数为必败状态的 m+1 个石子,故当剩余石子个数为 m+2, m+3 ... 2m+1 时为必胜状态。以此类推,可知当石子数为 k*( m+1 ) 时为必败状态。据此可解。 阅读全文
posted @ 2011-10-03 12:19 moonbay 阅读(301) 评论(0) 推荐(0) 编辑