博弈dp分析和总结.docx

博弈 dp by liyang PAGE PAGE 10 《博弈 DP》 Jiangnan Universit Liyang 2014/10/24 题意:有 题意:有 N 个数,有一个区间[A,B],第一个人先取一个数,必须 在区间内,后一次取必须比第一个数大,而且差值在区间内。问最后两个人取的数的和的差值最大为多少。 const int maxn = 10008 ; const int inf = 1000000000 ; int x[maxn] ; int a , b , n ; int dp[maxn] ; int dfs(int id){ if(dp[id] != -inf) return dp[id] ; int t = inf ; for(int i = id + 1 ; i = n ; i++){ if(x[i] - x[id] = a x[i] - x[id] = b){ t = min(t , x[id] - dfs(i)) ; } } if(t == inf) dp[id] = x[id] ; else dp[id] = t ; return dp[id] ; } int main(){ int t , i , ans ; cint ; while(t--){ cinnab ; for(i = 1 ; i = n ; i++) sc

文档评论(0)

1亿VIP精品文档

相关文档