天池 在线编程 双向取数(博弈DP)
生活随笔
收集整理的這篇文章主要介紹了
天池 在线编程 双向取数(博弈DP)
小編覺得挺不錯的,現在分享給大家,幫大家做個參考.
文章目錄
- 1. 題目
- 2. 解題
1. 題目
https://tianchi.aliyun.com/oj/245679029019779851/254275128279634585
有一個長度為n的數列arr, 甲乙兩個人每次可以從頭或者從末尾取一個數,雙方都想讓自己取數之和盡量多,
甲先取數,問甲乙在采取最優策略的基礎下,甲最多得多少分?
2. 解題
相關題目:LeetCode 博弈DP系列
- dp[i][j] 表示 剩下的數字的區間為 [i,j] 時,先手的最大分差,使用區間DP求取
- 假設 兩人的最佳得分為 a(先手), b, 有 a+b=sum,a?b=dp[0][n?1]a+b = sum, a-b = dp[0][n-1]a+b=sum,a?b=dp[0][n?1],解方程即得到 a
50ms C++
我的CSDN博客地址 https://michael.blog.csdn.net/
長按或掃碼關注我的公眾號(Michael阿明),一起加油、一起學習進步!
總結
以上是生活随笔為你收集整理的天池 在线编程 双向取数(博弈DP)的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: jieba分词提取小说人名
- 下一篇: LeetCode 1560. 圆形赛道上