Codevs 1048 石子归并 区间DP
2016-10-28 08:08
423 查看
Codevs 1048 石子归并
#include <iostream> #include <cstdio> #include <cstring> #include <queue> using namespace std; #define MAXN (100+10) int sum[MAXN]; int dp[MAXN][MAXN]; #define min(u,v) (u<v?u:v) int main() { int n; cin >> n; for(int i = 1; i <= n; i ++) scanf("%d", &sum[i]); for(int i = 1; i <= n; i ++) sum[i] += sum[i-1]; memset(dp,63,sizeof(dp)); for(int i = 1; i <= n; i ++) dp[i][i] = 0; for(int i = n-1; i >= 1; i --) for(int j = i+1; j <= n; j ++) 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; }
相关文章推荐
- codevs1048 石子归并(区间DP)
- 【日常学习】【区间DP】codevs1048 石子归并题解
- 石子归并 【区间DP】 Codevs1048
- code(vs)1048 石子归并(区间dp)
- CODE[VS] 1048 石子归并(区间DP)
- codevs1048 石子归并(区间DP)
- [codevs1048]石子归并 区间dp经典
- 【codevs1048】【codevs1154&&06TG】石子归并、能量项链,序列dp的典型题目
- 【算法学习笔记】84.序列DP 松弛+代价处理 CODE_VS 1048 石子归并
- DP 之 CODE[VS] 1048 石子归并 (两种实现方式:递归,循环)
- 【codevs1048】【codevs1154&&06TG】石子归并、能量项链,序列dp的典型题目
- Codevs2102[石子归并 2] 区间DP
- codevs 1048 石子归并(区间型DP)
- CodeVS2102 石子归并 2 解题报告【区间DP】
- 石子归并_codevs1048_dp
- wikioi-天梯-普及一等-区间dp-1048:石子归并
- Codevs 3002 石子归并 3(DP四边形不等式优化)
- codevs3002石子归并3(四边形不等式优化dp)
- 石子归并 Codevs1048 Codevs2102 Codevs3002
- code[VS] 1048 石子归并