用动态规划法设计算法有一根长n厘米的金属棒,现在要切割成几段零售.i 厘米(i = 1,2,...,n)长的金属棒零售价为pi.n和切割后每段的长度都为整数.使用动态规划法设计一个算法,输入金属棒长

来源:学生作业帮助网 编辑:作业帮 时间:2024/05/14 10:54:29
用动态规划法设计算法有一根长n厘米的金属棒,现在要切割成几段零售.i 厘米(i = 1,2,...,n)长的金属棒零售价为pi.n和切割后每段的长度都为整数.使用动态规划法设计一个算法,输入金属棒长
xTnWd)RNaT/_DV5Meƀ=\||*`;Npv93O`KUO*!}Y{/H$rhlAzh_vmRL]8@ӓ-3wj[48SyOHUIwm^Y1iɶ`sp"<`LV=j/*WPȑ&>R`w'`,1zvEqY${;B"}ջɢm4lgM9 mI+XlaNZ!-~b/ sѯ~Unln_ 7?J!7Ax"~{LZ,n!!N˹t'u! Cbx \#.x]<󰸼 y%YX\nE 9 z~;v9WyN ? 5~,wU7p:5Jc]7P DIvr]W[MOy=ct>=mCF괲*ϡ@i$PfpG07@)aV-}p@؋AaL)9jŨ8 2cv$.~ u!&+f@eq8^QD)o /JZKgJk /h2y=y/Yƀ̳sPUz>bh9l-(X#̯pg[\5 ׻oqyܬ뾱 9aqvdJX0 yԣ Y=n%GVSZ"Z P;0GWt-K:Ddh\=F֎|f< [eū%KZғ>EYo]3Gf_MUezj[%hcmN mhisD5"Udna/h?s׳L/מ2m_XEcQd

用动态规划法设计算法有一根长n厘米的金属棒,现在要切割成几段零售.i 厘米(i = 1,2,...,n)长的金属棒零售价为pi.n和切割后每段的长度都为整数.使用动态规划法设计一个算法,输入金属棒长
用动态规划法设计算法
有一根长n厘米的金属棒,现在要切割成几段零售.i 厘米(i = 1,2,...,n)长的金属棒零售价为pi.n和切割后每段的长度都为整数.
使用动态规划法设计一个算法,输入金属棒长度n和零售价表p1,...,pn,计算使零售价格的和最大的切割方法.
不用给出代码,有想法就行.12点之前给答案再送50分.

价格表例子如图.
另外上面说的12点指2月3日中午12点.

用动态规划法设计算法有一根长n厘米的金属棒,现在要切割成几段零售.i 厘米(i = 1,2,...,n)长的金属棒零售价为pi.n和切割后每段的长度都为整数.使用动态规划法设计一个算法,输入金属棒长
这个题目可以看作是个完全背包问题的变形.
转化成一个体积为n的背包,向里面放东西,使得所有东西体积之和恰好为n(正统的背包问题是不大于n),而且总的价值最大.其中每件编号为i的东西体积为c[i](长度),价格为w[i](零售价).
这个问题非常类似于01背包问题,所不同的是每种物品有无限件.也就是从每种物品的角度考虑,与它相关的策略已并非取或不取两种,而是有取0件、取1件、取2件……等很多种.如果仍然按照解01背包时的思路,令f[i][v]表示前i种物品恰放入一个容量为v的背包的最大权值.仍然可以按照每种物品不同的策略写出状态转移方程,像这样:f[i][v]=max{f[i-1][v-k*c[i]]+k*w[i] (其中0