zoukankan      html  css  js  c++  java
  • 51nod 1021 石子归并

    区间dp

    递推比递归的常数要小  所以还是尽量学会递推吧

    看题解  各种恶心啊  有木有

    还是视频讲的直接呃   不过就是讲的有点儿慢

    链接:https://www.bilibili.com/video/av12159085/

    #include<bits/stdc++.h>
    using namespace std;
    const int inf = 0x3f3f3f3f;
    int dp[120][120],s[120],sum[120];
    
    int main()
    {
        int n;
        scanf("%d",&n);
        for(int i=1;i<=n;i++)
            scanf("%d",&s[i]),sum[i] = sum[i-1] +s[i];
        //先枚举区间长度即r-l 
        for(int d=1;d < n;d++)
        {
            for(int i=1,j;(j=i+d)<=n;i++)//再枚举区间起点
            {
                dp[i][j] = inf;
                for(int k=i;k<j;k++)
                    dp[i][j] = min(dp[i][k]+dp[k+1][j],dp[i][j]);
                dp[i][j] += sum[j]-sum[i-1];
            }
        }
    
        printf("%d
    ",dp[1][n]);
    
    }
  • 相关阅读:
    SpringMVC框架搭建
    java事务的概念
    SpringMVC框架
    JAVA多线程面试题
    MD5加密
    java对象和xml的转换
    eclipse环境配置
    关于枚举类的使用
    定时器的使用
    关于AS-OS
  • 原文地址:https://www.cnblogs.com/Draymonder/p/7374093.html
Copyright © 2011-2022 走看看