早教吧作业答案频道 -->数学-->
算法,集合取数计算正整数集合N,最多有数字1000个,给定一个正整数K从N中取任意个数字相加,和为SUM,SUM不大于K求SUM可以达到的最大值求问算法思想···
题目详情
算法,集合取数计算
正整数集合N,最多有数字1000个,给定一个正整数K
从N中取任意个数字相加,和为SUM,SUM不大于K
求SUM可以达到的最大值
求问算法思想···
正整数集合N,最多有数字1000个,给定一个正整数K
从N中取任意个数字相加,和为SUM,SUM不大于K
求SUM可以达到的最大值
求问算法思想···
▼优质解答
答案和解析
这是一个比较典型的01背包问题,可以用动态规划的方法来解决.
首先,对问题进行一点小小的变形,即将K看做背包容量v,而每一个集合中的数字,看作一件物品,它的重量c和价值w均为其数值本身.
然后,用子问题定义状态:即f[i][v]表示前i件物品恰放入一个容量为v的背包可以获得的最大价值.则其状态转移方程便是:
f[i][v]=max{f[i-1][v],f[i-1][v-c[i]]+w[i]}
至此,即可编写程序依照上面的状态转移方程对f[N][K]进行求解了.
如果要对求解的过程进行优化,可以参考01背包问题的具体讲解,网上有很多,这里就不多介绍了.
首先,对问题进行一点小小的变形,即将K看做背包容量v,而每一个集合中的数字,看作一件物品,它的重量c和价值w均为其数值本身.
然后,用子问题定义状态:即f[i][v]表示前i件物品恰放入一个容量为v的背包可以获得的最大价值.则其状态转移方程便是:
f[i][v]=max{f[i-1][v],f[i-1][v-c[i]]+w[i]}
至此,即可编写程序依照上面的状态转移方程对f[N][K]进行求解了.
如果要对求解的过程进行优化,可以参考01背包问题的具体讲解,网上有很多,这里就不多介绍了.
看了 算法,集合取数计算正整数集合...的网友还看了以下:
高中物理题中总说“假设输出功率不变,U加大I减小P损减小”试问若U原增大U副就增大,感抗不变,按欧 2020-05-16 …
设随机变量u服从(—2,2)的均匀分布,随机变量x=—1,1设随机变量u服从(—2,2)的均匀分布 2020-05-17 …
当电路中只有一个导体时,这个导体两端和路端电压的电压相等吗?如果相等,由U=E-Ir,I增大,U减 2020-07-01 …
下列关于外电阻R和路端电压U之间关系的说法中正确的是()1.随着R增大,U将减少2.随着R减小,U 2020-07-06 …
调整如图所示电路的可变电阻R的阻值,使电压表V的示数增大ΔU,在这个过程中A.通过R1的电流增加, 2020-07-10 …
极限第一道题把x换成sinu,lim(arcsinx/x)x趋于0=lim(arcsin(sinu 2020-07-18 …
如果函数f(x)在x0点取得极大值,问:是否必有x0的某个邻域U(x0,&),使得当x0∈(x0- 2020-07-31 …
(2u大5•吉林三模)阅读图文资料,完成下列要求.中国(如海)自由贸易试验区于2u大3年大月22日经 2020-11-07 …
为什么选D,这道题不是有4种情况吗?U大于2F,左右上下全反,那么秒针仍然是应该顺时针啊,只不过一个 2020-11-25 …
自学时遇到关于齐次微分方程的问题某书本提及到:"对齐次微分方程y'=g(y/x)作变量替换u=y/x 2020-12-26 …