usaco training-A Game
2012-02-09 13:53
246 查看
博弈问题
双方都采取各自最优策略,可将其视为同一种方式
令状态F(i, j) 为当前游戏者面临序列[i, j]时所能得到的最大分数
由于游戏者在当前状态有两种选择方式,取其大值
得:F(i, j) = max(num[i] + sum[i + 1][j] - f(i + 1, j), num[j] + sum[i][j - 1] - f(i, j - 1))
初始palyer1先取,故结果为
f(1, n) 和 sum[1, n] - f(1, n)
双方都采取各自最优策略,可将其视为同一种方式
令状态F(i, j) 为当前游戏者面临序列[i, j]时所能得到的最大分数
由于游戏者在当前状态有两种选择方式,取其大值
得:F(i, j) = max(num[i] + sum[i + 1][j] - f(i + 1, j), num[j] + sum[i][j - 1] - f(i, j - 1))
初始palyer1先取,故结果为
f(1, n) 和 sum[1, n] - f(1, n)
/* ID: daijinq1 PROB:game1 LANG: C++ */ #include <iostream> #include <sstream> #include <vector> using namespace std; #define FOR(i,a,b) for(i = (a); i < (b); ++i) #define FORE(i,a,b) for(i = (a); i <= (b); ++i) #define FORD(i,a,b) for(i = (a); i > (b); --i) #define FORDE(i,a,b) for(i = (a); i >= (b); --i) #define CLR(a,b) memset(a,b,sizeof(a)) const int MAXN = 110; vector<int> num; int n; int sum[MAXN]; int dp[MAXN][MAXN]; void input() { int i, a; num.push_back(0); cin>>n; FORE(i, 1, n) { cin>>a; num.push_back(a); dp[i][i] = a; sum[i] = sum[i - 1] + a; } } void solve() { int k, i; FORE(k, 2, n) FORE(i, 1, n - k + 1) { int j = i + k - 1; dp[i][j] = max(num[i] + sum[j] - sum[i] - dp[i + 1][j], num[j] + sum[j - 1] - sum[i - 1] - dp[i][j - 1]); } cout<<dp[1] <<' '<<sum - dp[1] <<endl; } int main() { freopen("game1.in", "r", stdin); freopen("game1.out", "w", stdout); input(); solve(); return 0; }
相关文章推荐
- 1666: [Usaco2006 Oct]Another Cow Number Game 奶牛的数字游戏
- 【USACO12JAN】视频游戏的连击Video Game Combos
- 2016 Multi-University Training Contest 1 C.Game
- USACO 2009 Open Silver 3.Cow Digit Game简单博弈论
- bzoj 3404: [Usaco2009 Open]Cow Digit Game又见数字游戏(SG函数)
- 【区间计数】Milking Cows 挤牛奶 (milk2) Usaco_Training 1.2
- 最小生成树基础模板题(USACO Training Section 3.1 最短网络 Agri-Net)
- 【贪心】Mixing Milk 混合牛奶 milk (Usaco_Training 1.3)
- Letter Game[USACO]
- usaco 3.3 game1 2008.11.7
- (1070): 【USACO TRAINING】香甜的黄油
- 回文检测 [USACO Training Section 1.3]
- [USACO 2012 January Gold] Video Game Combos
- usaco training 5.3.1 Milk Measuring 题解
- usaco training 6.1.3 Cow XOR 题解
- 【HDU5725 2016 Multi-University Training Contest 1C】【最短路 曼哈顿距离+贪心 前缀和】Game 有特殊守卫地图中所有空格点的最短路之和
- USACO Training Section 1.1 Your Ride Is Here
- 【USACO TRAINING】Name That Number命名那个数字
- 【几何翻转】Transformations 方块转换(Usaco_Training 1.2)
- 【贪心】Mixing Milk 混合牛奶 milk (Usaco_Training 1.3)