uva 10003 Cutting Sticks
来源:互联网 发布:微信三级分销商城源码 编辑:程序博客网 时间:2024/06/05 19:17
题意:有根木头,长度l,对它切n刀,分别在c1,c2....cn位置。费用等于你当前切的木头的长度。问你最少的费用是多少。
定义dp(be,end)为从切点be到end的最少费用。
#include <iostream>#include <cstdio>#include <cstring>using namespace std;const int N=60;int a[N],map[N][N],dp(int,int);bool vis[N][N];int main(){ int n; while(scanf("%d",&n)!=EOF) { if(n==0) break; memset(a,0,sizeof(a)); memset(map,0,sizeof(map)); memset(vis,0,sizeof(vis)); int m; scanf("%d",&m); for(int i=1;i<=m;i++) { scanf("%d",&a[i]); } m++; a[m]=n; printf("The minimum cutting is %d.\n",dp(0,m)); } return 0;}int dp(int be,int end){ if(vis[be][end]) return map[be][end]; else if(end-be==1) {vis[be][end]=1;return 0;} { int imin=1<<30; for(int i=be+1;i<end;i++) { int temp=dp(be,i)+dp(i,end)+a[end]-a[be]; imin=min(imin,temp); } vis[be][end]=1; map[be][end]=imin; return imin; }}
- 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
- 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
- 慎用ActiveReport的ARCustomForm自定义纸张尺寸
- 乔布斯前传:混沌岁月塑造独特性格
- 11-10-17
- curl: (6) Couldn't resolve host 'android.git.kernel.org'
- demo1 小小评
- uva 10003 Cutting Sticks
- TortoiseSVN v1.7
- 资中筠:要重建知识分子对“道统”的担当
- unix环境高级编程-4.3-文件类型
- 程序员的整洁代码之道
- Servlet注意+ServletConfig+ServletContext
- 不用api,vb自带函数得到文件名或扩展名
- 敏捷测试理论以及实践 - 2
- ASCII码 表