LeetCode 5379.小石ゲームIII(DP)

1.トピック

ゲーム内のいくつかの石とアリスとボブヒープ。行の石の杭は、石がスコアつのスタックに対応するそれぞれは、アレイstoneValueによって与えられます。

アリスとボブはターンの石を取り、アリスは常に最初に起動します各プレイヤーのターンでは、プレイヤーは、中の石の休息を取ることができ、フロント2または3杭の石のを。すべての石が離れて撮影されているまでゲームは続きます。

各杭に対応する各プレイヤーのための最終的なスコアは、彼が石とスコアを得ました。各プレイヤーの初期スコアが0です。ゲームの目的は、ゲームでも引き分けであってもよいし、最高得点のプレイヤーがゲームに勝つ、最高点で決定されます。

アリスとボブが撮影したと最善の戦略をアリスは「アリス」への復帰に勝てば、ボブは(同じスコア)「タイ」のリターンを描き、リターン「ボブ」に勝ちました。

示例 1:
输入:values = [1,2,3,7]
输出:"Bob"
解释:Alice 总是会输,她的最佳选择是拿走前三堆,得分变成 6 。但是 Bob 的得分为 7,Bob 获胜。

示例 2:
输入:values = [1,2,3,-9]
输出:"Alice"
解释:Alice 要想获胜就必须在第一个回合拿走前三堆石子,给 Bob 留下负分。
如果 Alice 只拿走第一堆,那么她的得分为 1,接下来 Bob 拿走第二、三堆,得分为 5 。
之后 Alice 只能拿到分数 -9 的石子堆,输掉比赛。
如果 Alice 拿走前两堆,那么她的得分为 3,接下来 Bob 拿走第三堆,得分为 3 。
之后 Alice 只能拿到分数 -9 的石子堆,同样会输掉比赛。
注意,他们都应该采取 最优策略 ,所以在这里 Alice 将选择能够使她获胜的方案。

示例 3:
输入:values = [1,2,3,6]
输出:"Tie"
解释:Alice 无法赢得比赛。如果她决定选择前三堆,她可以以平局结束比赛,否则她就会输。

示例 4:
输入:values = [1,2,3,-1,-2,-3,7]
输出:"Alice"

示例 5:
输入:values = [-1,-2,-3]
输出:"Tie"
 
提示:
1 <= values.length <= 50000
-1000 <= values[i] <= 1000

出典:滞在ボタン(LeetCode)
//leetcode-cn.com/problems/stone-game-iii:リンク:httpsの
すべてのネットワークからの控除が著作権を保有。商業転載は、ソースを明記してください許可公式、非商用の転載をご連絡ください。

2.問題解決

  • 参考ギャング問題解決
  • 最初の0を取るためにどのように関係なく、前方アリスの、逆押しであります
  • DP [i]のとき、数Iの石取るために最大スコアを表し、
  • 合計は、[I、...終了]を示し、
  • DP [I]石引き継がれ、最大値は、他人の前で撮影されているが、DP [I + 1]、iは位置で撮影された値はその和 - DP [I + 1]
  • DP [i]が最大値を他人の前で撮影された、二つの石引き継がれる[I + 2]、私は私の位置、その和で撮影された値DP - DP [I + 2]
  • DP [I]は、3つの石の上に取られ、最大値は、他人の前で撮影された[I + 3] DP、I iの合計値である位置を取る - DP [I + 3]
  • 最大3撮影した上記の例
class Solution {
public:
    string stoneGameIII(vector<int>& stoneValue) {
        int i, n = stoneValue.size(), sum = 0;
        vector<int> dp(n+3,0);
        for(i = n-1; i >= 0; --i)
        {
            sum += stoneValue[i];
            dp[i] = max(max(sum-dp[i+3], sum-dp[i+2]),sum-dp[i+1]);
        }
        if(dp[0] > sum-dp[0])
            return "Alice";
        else if(dp[0] < sum-dp[0])
            return "Bob";
        return "Tie";
    }
};

624 ms 132.3 MB

公開された812元の記事 ウォンの賞賛1607 ビュー39万+

おすすめ

転載: blog.csdn.net/qq_21201267/article/details/105332878