UVA10003 - Cutting Sticks
来源:互联网 发布:ug8.5编程加工实战视频 编辑:程序博客网 时间:2024/05/20 11:25
用dp(i, j)表示木棍在i切割点和j切割点之间的最小费用
状态转移方程:dp(i, j) = min(dp(i, j), dp(i, h) + dp(j, h) + num[j] - num[i]);
#include <iostream>#include <algorithm>#include <cstdio>#include <cstring>using namespace std;#define INF 1 << 30int dp[55][55];int num[55], n;int main(){ // freopen("in.txt", "r", stdin); int l; while(cin >> l && l) { cin >> n; for(int i = 1; i <= n; i++) scanf("%d", num+i); num[0] = 0; num[n+1] = l; for(int i = 2; i <= n+1; i++) for(int j = 0; j + i <= n+1; j++) { dp[j][i+j] = INF; for(int h = j+1; h < j+i; h++) { dp[j][i+j] = min(dp[j][i+j], dp[j][h] + dp[h][i+j] + num[i+j] - num[j]); } } printf("The minimum cutting is %d.\n", dp[0][n+1]); } return 0;}
0 0
- UVa10003 - Cutting Sticks
- uva10003 - Cutting Sticks
- UVA10003 - Cutting Sticks
- UVA10003 Cutting Sticks
- uva10003 Cutting Sticks
- UVa10003 cutting sticks
- uva10003 Cutting sticks
- uva10003 Cutting Sticks
- uva10003 Cutting Sticks
- UVa10003 Cutting Sticks
- uva10003 - Cutting Sticks(DP,区间)
- [动态规划]UVA10003 - Cutting Sticks
- uva10003 Cutting Sticks解题报告
- uva10003 - Cutting Sticks(简单动规)
- UVA10003---Cutting Sticks(简单区间dp)
- uva10003 - Cutting Sticks(区间dp)
- UVA10003 Cutting Sticks(区间 DP)
- UVA10003 Cutting Sticks(切棍子)
- nginx 负载均衡
- bootstrap 中popover的鼠标悬停下拉菜单效果
- CheckBox影响ListView的OnItemClick点击事件的解决方法
- ggplot2画分面图
- 面向对象(二)
- UVA10003 - Cutting Sticks
- java zip 压缩与解压
- 第一次向开源项目贡献代码的历程
- Servlet3.0学习总结(一)——使用注解标注Servlet
- hihocoder-1036 Trie图(Trie图||AC自动机)
- listview如果添加的有Headview和Footview,onItemClick数值异常
- Spark分布式搭建(3)——ubuntu下ssh无密码登入(设置ssh公钥认证)
- Core Animation系列之CADisplayLink
- 进入activity 不自动弹键盘