题目名称 1381. 钢条切割
输入输出 cutrod.in/out
难度等级 ★☆
时间限制 1000 ms (1 s)
内存限制 256 MiB
测试数据 15
题目来源 Gravatar苏轼 于2013-05-24加入
开放分组 全部用户
提交状态
分类标签
动态规划 数学
分享题解
通过:48, 提交:108, 通过率:44.44%
Gravatardateri 100 0.000 s 0.04 MiB C++
Gravatarcy 100 0.001 s 0.12 MiB C++
Gravatar521 100 0.002 s 0.02 MiB C++
Gravatar123 100 0.003 s 3.74 MiB C++
Gravatar梦那边的美好ET 100 0.005 s 2.74 MiB C++
GravatarHyoi_0Koto 100 0.006 s 0.07 MiB C++
Gravatarcoolkid 100 0.016 s 0.34 MiB C++
Gravatarraywzy 100 0.017 s 0.33 MiB C++
Gravatardevil 100 0.018 s 0.34 MiB C++
Gravatarsvideo 100 0.018 s 0.34 MiB C++
本题关联比赛
20130524
关于 钢条切割 的近10条评论(全部评论)
从小到大排都能过一半,不知数据有多弱,QAQ
Gravatarzys
2015-10-22 21:26 2楼
算法导论,你值得拥有QAQ.....
Gravatarraywzy
2013-09-17 19:32 1楼

1381. 钢条切割

★☆   输入文件:cutrod.in   输出文件:cutrod.out   简单对比
时间限制:1 s   内存限制:256 MiB

【题目描述】

 Serling公司购买长钢条,将其切割为短钢条出售。切割工序本身没有成本支出。公司管理层希望知道最佳的切割方案假定我们知道Serling公司出售一段长度为i英寸的钢条的价格为pi(i=1,2,…,n,单位为美元)。钢条的长度均为整英寸。

 钢条切割问题是这样的:给定一段长度为n英寸的钢条和一个价格表pi(i=1,2,...,n),求切割钢条方案,使得销售收益rn最大。注意,如果长度为n英寸的钢条的价格pn足够大,最优解可能就是完全不需要切割。

【输入格式】

有两行,第一行一个整数n            

第二行有n个整数,中间用一个空格隔开,第i个数表示长度为i的钢条的价值。    

【输出格式】

第一行的整数表示最优值

第二行的若干整数表示取得最优值的方案,如果方案有多种,输出长钢条多的方案,输出时将方案按钢条长度从大到小排序。               

【样例1】

10
1 5 8 9 10 17 17 20 24 30
30(最优价值)                  
10(最优方案是不截断钢条,价值最大)

【样例2】

10
1 2 3 4 5 6 7 8 9 10
10(最优价值)  
10(最优方案有截成2段2+8、1+9、...或截成3段2+3+5、1+3+6、...等多种方案,取钢条长度最长的方案。)    

【提示】

数据规模:            

对于 30%的数据,0<n<=30;            

对于 100%的数据,0<n<=2000;