51nod 1021 石子归并
2016-10-28 21:58
197 查看
题目链接:传送门
从沈阳赛区打铁回来更一发(东北真冷啊)….
经典的dp问题
dp[i][j]是i到j的最小花费
dp[i][j]=min(dp[i][j],dp[i][k]+dp[k+1][j]+sum[j]-sum[i-1])
代码如下:
从沈阳赛区打铁回来更一发(东北真冷啊)….
经典的dp问题
dp[i][j]是i到j的最小花费
dp[i][j]=min(dp[i][j],dp[i][k]+dp[k+1][j]+sum[j]-sum[i-1])
代码如下:
#include<cstdio> #include<cstring> #include<iostream> #include<algorithm> using namespace std; #define mod 1000000007 #define N 101 int a ,dp ,sum ; int main(){ int i,j,n,m; cin>>n; sum[0]=0; for(i=1;i<=n;i++) { cin>>a[i]; if(i==1) sum[i]=a[i]; else sum[i]=sum[i-1]+a[i]; dp[i][i]=0; } for(int t=1;t<n;t++) for(i=1;i<=n-t;i++){ j=i+t; dp[i][j]=mod; for(int k=i;k<=j;k++) dp[i][j]=min(dp[i][j],dp[i][k]+dp[k+1][j]+sum[j]-sum[i-1]); } cout<<dp[1] <<endl; return 0; }
相关文章推荐
- 51nod 1021 石子归并
- 51nod 1021石子归并 dp
- 51nod 1021 石子归并
- 51Nod 1021 石子归并
- 51nod 1021 石子归并 (动态规划 简单代码)
- 51nod 1021 石子归并(dp-矩阵连乘)
- 经典问题二.【区间dp】石子归并 51nod 1021
- 【51nod】1021 石子归并
- 51nod 1021 石子归并
- 51nod 1021 石子归并
- 51nod 1021 石子归并(基础dp)
- 51nod 1021 石子归并(区间dp)
- 【51Nod】1021 - 石子归并(区间dp & 四边形不等式优化)
- 51Nod - 1021 石子归并 区间DP入门-分析
- 51NOD 1021 石子归并
- AC日记——石子归并 51nod 1021
- 51Nod - 1021 石子归并(经典dp)
- 51nod 1021 石子归并 -动态规划
- 51Nod-1021-石子归并
- 51nod 1021 石子归并