UVA - 10003 Cutting Sticks
2015-08-07 10:11
375 查看
//比较巧妙, 不看书也写不出来应该。。
#include<cstdio> #include<iostream> #include<cstring> #include<algorithm> using namespace std; const int maxn = 50 + 5; const int inf = 100000000; int v[maxn]; int dp[maxn][maxn]; int d(int l, int r) { if(l >= r-1) return dp[l][r] = 0; if(dp[l][r] != inf) return dp[l][r]; else { for(int i = l + 1; i < r; ++i) { dp[l][r] = min(dp[l][r], d(l, i) + d(i, r) + v[r] - v[l]); } } return dp[l][r]; } int main() { int len; while(scanf("%d", &len) == 1 && len) { memset(v,0,sizeof(v)); for(int i =0; i < maxn; ++i) for(int j = 0; j < maxn; ++j) dp[i][j] = inf; int n; cin >> n; for(int i = 1; i <= n; ++i) scanf("%d", &v[i]); v[0] = 0; v[n+1] = len; printf("The minimum cutting is %d.\n", d(0,n+1)); } return 0; }
相关文章推荐
- ZOJ 3640--Missile【二分查找 && 最大流dinic && 经典建图】
- html基础--标签,属性,文本格式化标签,计算机输出标签,引用和术语定义
- iOS打电话
- 【n!素因子p的幂】swjtuOJ 2090
- java 字节流与字符流的区别
- 南邮 OJ 1948 参赛选手信息更新问题
- spyder不能启动
- COJ 0349 WZJ的旅行(五)
- 万网知您所需,“域”众不同--.link/.love/.help等一大波新顶级域来袭!
- codeforces(567D)--D. One-Dimensional Battle Ships
- watch
- servlet规范
- 数据类面试题
- 南邮 OJ 1947 参赛选手身高问题
- poj-3020-Antenna Placement-二分图
- 泛型学习笔记
- CSS3中transform,transition和animation的简介和用法示例
- Xcode 选择默认版本
- EQueue性能测试计划
- Codeforces Round #Pi (Div. 2) ABCDEF已更新