zoukankan      html  css  js  c++  java
  • HDU 5115 Dire Wolf ——(区间DP)

      比赛的时候以为很难,其实就是一个区间DP= =。。思路见:点我

      区间DP一定要记住先枚举区间长度啊= =~!因为区间dp都是由短的区间更新长的区间的,所以先把短的区间更新完。。

      代码如下:

     1 #include <stdio.h>
     2 #include <algorithm>
     3 #include <string.h>
     4 using namespace std;
     5 const int N = 200 + 5;
     6 const int inf = 0x3f3f3f3f;
     7 
     8 int n;
     9 int a[N],b[N];
    10 int dp[N][N];
    11 
    12 int main()
    13 {
    14     int T;scanf("%d",&T);
    15     for(int kase=1;kase<=T;kase++)
    16     {
    17         scanf("%d",&n);
    18         memset(a,0,sizeof(a));
    19         memset(b,0,sizeof(b));
    20         for(int i=1;i<=n;i++) scanf("%d",a+i);
    21         for(int i=1;i<=n;i++) scanf("%d",b+i);
    22         
    23         memset(dp,inf,sizeof(dp));
    24         for(int len=0;len<=n;len++)
    25         {
    26             for(int i=1;i+len<=n;i++)
    27             {
    28                 int j = i + len;
    29                 for(int k=i;k<=j;k++)
    30                 {
    31                     dp[i][j] = min(dp[i][j],b[i-1]+b[j+1]+a[k]+(k>i?dp[i][k-1]:0)+(k<j?dp[k+1][j]:0));
    32                 }
    33             }
    34         }
    35         printf("Case #%d: %d
    ",kase,dp[1][n]);
    36     }
    37 }
  • 相关阅读:
    大数据面经
    mysql复习(2)
    java容器
    内存管理
    垃圾收集
    输入/输出流
    排序算法的稳定性及其汇总
    java传值与传引用
    linux复习6
    linux复习5
  • 原文地址:https://www.cnblogs.com/zzyDS/p/5873576.html
Copyright © 2011-2022 走看看