美文网首页
5627. 石子游戏 VII(区间dp)

5627. 石子游戏 VII(区间dp)

作者: 来到了没有知识的荒原 | 来源:发表于2020-12-13 15:10 被阅读0次

5627. 石子游戏 VII

区间dp
f[l][r]表示:先手的分数-后手分数的最大值

题解

class Solution {
public:
    int stoneGameVII(vector<int>& st) {
        int n=st.size();
        int pre[n+1];
        pre[0]=0;
        for(int i=0;i<n;i++)pre[i+1]=pre[i]+st[i];

        int f[n+1][n+1];
        memset(f,0,sizeof f);
        for(int len=2;len<=n;len++){
            for(int i=1;i+len-1<=n;i++){
                int l=i,r=i+len-1;
                // cout<<f[l][r]<<endl;
                f[l][r]=max(pre[r]-pre[l]-f[l+1][r],pre[r-1]-pre[l-1]-f[l][r-1]);
            }
        }
        return f[1][n];
    }
};

相关文章

  • 5627. 石子游戏 VII(区间dp)

    5627. 石子游戏 VII[https://leetcode-cn.com/problems/stone-gam...

  • 5498. 石子游戏 V

    5498. 石子游戏 V 区间dp 这一题引出了一个很好的思考为啥记忆化dfs比填表的dp快 因为填表dp是自底向...

  • 1563-石子游戏Ⅴ-区间DP问题

    题目 分析 题意还是比较好理解的,每次将石子分成两大堆,抛弃总和大的那一堆,留下少的一堆并且总分数中加上少的一堆的...

  • 486预测赢家-877石子游戏(区间dp)

    这是一道区间dp的问题,我们可以先用递归的方法求解。 intchooseStart=nums[start]-dfs...

  • 浅谈区间动态规划

    围绕几道题说起。。石子归并、涂色、括号序列 啥是区间动态规划呢,我觉得似乎是指在一段区间上的dp,通过枚举左右子区...

  • 1872-石子游戏Ⅷ-优化DP

    写在前面 这周周赛的最后一题,经典递推博弈论,但是没想出来,通过学习看懂了推理过程,还顺便学会了这种通过前缀的方式...

  • 「动态规划」例题之状态和转移方程的设计(2)

    0x50「动态规划」例题 区间DP 线性DP从初态开始,沿着“阶段”向某个方向扩张。而区间DP是线性DP的一种,它...

  • 区间类DP总结

    区间类DP的做法,是用memorized search,把大区间拆分为小区间来解。而dp[i][j] 则直观的表示...

  • 区间DP和回文为主题的DP

    区间DP 区间DP的特征: 可以两个或多个部分进行整合, 或者反过来;能将问题分解为能两两合并的形式.区间DP的求...

  • 区间DP

    区间DP,对于每段小区间,它的最优值是由更小的区间的最优值得出的,由此往下划分,直到单个元素,由他们的组合合并得出...

网友评论

      本文标题:5627. 石子游戏 VII(区间dp)

      本文链接:https://www.haomeiwen.com/subject/rtqpgktx.html