参考0-1背包问题,使用golang编写得到的结果。其中dp数组的大小可以进一步优化,但是最主要的是要清楚算法思想,和附属物件的处理方式。该算法使用额外的两个切片遍历了每个主物件可能存在的全部购买方式,并使用dp数组记录每个主物件加入与否的最大收益情况。 package main import ( "fmt" ) type Product struct{ v int p int q int ann []Product } func main(){ var N,m ...