813. Largest Sum of Averages

813. Largest Sum of Averages

class Solution {
public:
    double largestSumOfAverages(vector<int>& A, int K) {
        int n = A.size();
        
        // dp[k][i]: largestSumOfAverages of [0,i] with up to k partitions
        // dp[0][i]: largestSumOfAverages of [0,i] with 0 partition = (sums[i+1]-sums[0])/(i+1)
        // dp[k][i]: max(dp[k-1][j] + (sums[i+1]-sums[j+1]) / (i-j), dp[k-1][i])
        vector<vector<double>> dp(K, vector<double>(n, 0));
        
        vector<double> sums(n+1, 0);
        for (int i = 0; i < A.size(); i++)
            sums[i+1] = sums[i] + A[i];
        
        for (int i = 0; i < n; i++)
            dp[0][i] = (sums[i+1] - sums[0]) / (i+1);  // single partition
        for (int k = 1; k < K; k++) {
            for (int i = 0; i < n; i++) {
                dp[k][i] = dp[k-1][i];
                for (int j = 0; j < i; j++) {
                    dp[k][i] = max(dp[k][i], dp[k-1][j] + (sums[i+1]-sums[j+1]) / (i-j));
                }
            }
        }
        
        return dp[K-1][n-1];
    }
};

 

转载于:https://www.cnblogs.com/JTechRoad/p/8978410.html

版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请联系我们举报,一经查实,本站将立刻删除。

发布者:全栈程序员-站长,转载请注明出处:https://javaforall.net/101688.html原文链接:https://javaforall.net

(0)
上一篇 2021年5月27日 下午2:00
下一篇 2021年5月27日 下午3:00


相关推荐

  • sql server 数据库分区分表

    sql server 数据库分区分表sqlserver数据库分区分表作为演示,本文使用的数据库sqlserver2017管理工具sqlservermanagementstudio18,,创建数据库mytest,添加Test表,Test表列为id和name,具体可以自行创建sqlserver数据库分区分表具体步骤如下1、选择数据库选择右键新建查询,内容如下–数据库分区分表–1、给数据库mytest添加文件分组ALTERDATABASEmytestaddfilegroupgroup

    2022年5月5日
    166
  • 图像滤波算法总结[通俗易懂]

    图像滤波算法总结[通俗易懂]该篇主要是对图像滤波算法一个整理,主要参考的大神的博客:https://blog.csdn.net/qq_15606489/article/details/527554441:图像滤波既可以在实域进行,也可以在频域进行。图像滤波可以更改或者增强图像。通过滤波,可以强调一些特征或者去除图像中一些不需要的部分。滤波是一个邻域操作算子,利用给定像素周围的像素的值决定此像素的最终的输出值。图像…

    2022年6月10日
    35
  • dumpbin options「建议收藏」

    dumpbin options「建议收藏」dumpbin.exexx.exe /options >x:\\xx.txtoptions:  /ALL  /ARCHIVEMEMBERS  /CLRHEADER  /DEPENDENTS  /DIRECTIVES  /DISASM[:{BYTES|NOBYTES}]  /ERRORREPORT:{NONE|PROMPT|QUE

    2022年6月19日
    28
  • Coze 实操教程

    Coze 实操教程

    2026年3月16日
    3
  • Attention机制详解

    Attention机制详解一 Attention 原理在 Encoder Decoder 结构中 Encoder 把所有的输入序列都编码成一个统一的语义特征 c 再解码 因此 c 中必须包含原始序列中的所有信息 它的长度就成了限制模型性能的瓶颈 如机器翻译问题 当要翻译的句子较长时 一个 c 可能存不下那么多信息 就会造成翻译精度的下降 相比于原始的 Seq2Seq 模型的 Decoder 中只通过同一个向量 c 去计算隐状态 Attentio

    2026年3月18日
    2
  • plupload+struts2实现文件上传下载「建议收藏」

    plupload+struts2实现文件上传下载

    2022年1月23日
    44

发表回复

您的邮箱地址不会被公开。 必填项已用 * 标注

关注全栈程序员社区公众号