P1359 租用游艇

最简单的dp

 1 #include<bits/stdc++.h>
 2 using namespace std;
 3 const int maxn=2e3+10;
 4 const int inf=0x3f3f3f3f;
 5 int dp[maxn];
 6 int a[maxn][maxn];
 7 int main()
 8 {
 9     memset(dp,inf,sizeof(dp));
10     int n;
11     scanf("%d",&n);
12     for(int i=1;i<=n-1;i++){
13         for(int j=i+1;j<=n;j++){
14             scanf("%d",&a[i][j]);
15         }
16     }
17     dp[1]=0;
18     for(int i=1;i<=n-1;i++){
19         for(int j=i+1;j<=n;j++){
20             dp[j]=min(dp[j],dp[i]+a[i][j]);
21         }
22     }
23     printf("%d\n",dp[n]);
24     return 0;
25 }
View Code

 

posted @ 2020-03-31 10:28  古比  阅读(118)  评论(0编辑  收藏  举报