uva 10003Cutting sticks(动态规划水题)
来源:互联网 发布:怪物猎人x淘宝 编辑:程序博客网 时间:2024/06/07 01:03
题意:给一根木棍,还有n个切割点,每个切割点的费用为当前切割长度,求最小费用。
#include<cstdio> #include<cstring> #include<cmath> #include<cstdlib> #include<iostream> #include<algorithm> #include<vector> #include<map> #include<queue> #include<stack> #include<string>#include<map> #include<set>#define eps 1e-6 #define LL long long using namespace std; const int maxn = 50 + 5;const int INF = 0x3f3f3f3f;int d[maxn][maxn], len[maxn];int n, l;int dp(int L, int R) {if(L+1 == R) return 0;if(d[L][R] != -1) return d[L][R];d[L][R] = INF;for(int i = L+1; i < R; i++) d[L][R] = min(d[L][R], dp(L, i)+dp(i, R)+len[R]-len[L]);return d[L][R];}void init() { memset(d, -1, sizeof(d)); cin >> n; for(int i = 1; i <= n; i++) cin >> len[i]; len[0] = 0; len[n+1] = l;}void solve() {printf("The minimum cutting is %d.\n", dp(0, n+1));}int main() {//freopen("input.txt", "r", stdin);while(scanf("%d", &l) == 1 && l) {init();solve();}return 0;}
0 0
- uva 10003Cutting sticks(动态规划水题)
- UVA - 10003 - Cutting Sticks(动态规划)
- uva 10003 - Cutting Sticks 动态规划
- 【UVA】10003-Cutting Sticks(动态规划、矩阵链乘)
- uva 10003 Cutting Sticks (动态规划:区间DP)
- [中等] UVa OJ 10003 Cutting Sticks 动态规划
- [动态规划]UVA10003 - Cutting Sticks
- UVa 10003 Cutting Sticks
- UVA 10003 - Cutting Sticks
- UVa 10003 - Cutting Sticks
- uva 10003 Cutting Sticks
- uva:10003 - Cutting Sticks
- UVa 10003 Cutting Sticks
- UVa 10003 Cutting Sticks
- UVa 10003 - Cutting Sticks
- UVA 10003 Cutting Sticks
- Uva - 10003 - Cutting Sticks
- UVa 10003 - Cutting Sticks
- Java常见问题二
- 如何编写高质量的代码
- jbpm6 开发环境搭建
- jquery学习基础
- win7 +Ubuntu 13.10 双系统的安装问题,Ubuntu无法启动问题
- uva 10003Cutting sticks(动态规划水题)
- ubuntu14.04下播放器SMplayer的安装
- 版本管理工具git的使用
- js对象的继承
- C++中指针详解
- hdu 4738 13杭州网络赛 判断无向图的桥
- 【Android】画廊式的图片浏览器,使用HorizontalScrollView取代Gallery,OnClickListener的参数传递
- equals和==比较
- unity手游《摩卡世界online》全套源码(服务端+客户端+数据库)