TAG 动态规划
我原先还以为可以推出选排策略,结果不行。。没有规律,得用dp(‖▔ ω▔)
题目有点问题,玩家2选大的牌,如果这时候两端的牌一样大怎么办? 得选左边的才能ac
题目最后说 If there is a tie, remove the left end.打平要去掉左端点的牌,牌就变奇数了? 不用处理才能ac,比如4 2 2 2 2 ,输出0。
因为题意wa了几次,太无语了。。
设dp[s][t] 从s到t玩家1最多的得分(玩家2按贪心策略)。
dp[s][t]=max{ card[s]+dp[s+2][t], ( 玩家1取左端, 剩下的牌左边大)
card[s]+dp[s+1][t-1], ( 玩家1取左端, 剩下的牌右边大)
dp[s+1][t-1]+card[t] ( 玩家1取右端, 剩下的牌左边大)
dp[s][t-2]+card[t] ( 玩家1取右端, 剩下的牌右边大) }
时间复杂度O(n^2),我用递归做。