C++ 动态规划 背包问题的提高 —— 简单的有依赖性背包问题-金明的预算方案
金明的预算方案
有依赖性的背包正解为树形DP,对本人来说从未学过,但还好,这道题不用,因为每个主件只有两个附件且附件没有自己的附件,那么只需要考虑五种情况 :
一. 只买主件
二. 买主件和第一个附件
三. 买主件和第二个附件
四. 买主件和两个附件
五. 什么都不买
那么这道题就十分简单了。
不过,该怎么确定主件的附件呢?
首先要定义一个结构体数组,用来存放价格,重要度,是否为附件,编号,附件个数,附件编号
struct things{
int v,w,q,num;//记录价格,重要度,是否为附件,编号
int s;//记录该零件的附件个数
int k[70];//记录该零件附件的编号
}a[70];
q表示附件的主件的编号,然后创立主件的附件集合(就是存附件的编号)
创建完过后,会发现有些主件没有附件,需要去判定是否有附件,不妨将没有附件的主见的附件认为是零,这样就更加简便&#x

浙公网安备 33010602011771号