博弈
文章平均质量分 74
未水
这个作者很懒,什么都没留下…
展开
-
POJ 1085 博弈-搜索
与3317区别开,每个选手在面对当前局势最优能得到多少三角形是一样的, 即之前放的边是谁放的没关系,不会影响后面结果的统计 所以dp【state】表示在state下先手能得到最多多少个三角形 #include #include #include #include #include #include #include #include #include #include us原创 2013-04-16 21:24:25 · 769 阅读 · 0 评论 -
POJ 3317 博弈-极大极小过程+记忆化搜索+剪枝
1.current player 不一定是0 2.TLE想到记忆化搜索,想到怎样记录状态,注意到空位不大于10个,从这里做文章: 在搜索过程中,每个空位有三种情况:还是空的(0),被0填充(1),被1填充(2),用个三进制数记录(now) 在搜索过程中,需要枚举还没被填充的空位,需要记录对于每个状态哪个空位还没被填充的:被填充(0),被填充(1),用二进制数记录(state) 3.alph原创 2013-04-16 12:56:44 · 1644 阅读 · 0 评论 -
POJ 2960 博弈-简单SG
记忆化搜索,数据太水,1 STL的东西真不能用,太慢,用STL并且在搜索的函数里开10000的数组就RE了,用数组写的并且在搜索的函数里开10000的数组就A了。。 #include #include #include #include #include #include #include #include using namespace std; int s[1000],cnt; in原创 2013-04-15 21:02:27 · 904 阅读 · 0 评论 -
zoj 3529 博弈SG
理解当b[i] > b[i]^ans 为必败状态#include #include #include using namespace std; #define N 100005 #define MAXN 50000 int a[N+100],b[N+100],n; int prime[MAXN+4],cnt,isprime[MAXN+5]; int cal(int obj) {原创 2013-07-13 21:17:09 · 1151 阅读 · 0 评论 -
hdu 4701 博弈难题
思路: ▶ 设 win(i,x,y) 表示当前可以买的物品是 i,先手有 x 元,后 手有 y 元时,先手是否必胜 ▶ win(i,x,y) ⇐⇒∃j((j > i)∧(x ≥ si−sj)∧¬win(j,y,x−si +sj)) ▶ 其中 si = Ci + Ci+1 +···+ CN ▶ 注意到 x + y = A + B−s1 + si,即 win(i,x) := w转载 2013-09-03 15:36:42 · 1305 阅读 · 0 评论