回 帖 发 新 帖 刷新版面

主题:请教一个算法思路

结点数据结构包含长度和数量属性

struct Source{
  double lang;
  int num;
}


假设我有 10个长度为9的原材料 10个长度为8的原材料 20个长度为7的原材料

a[0] = new Source(9,10);
a[1] = new Source(8,10);
a[2] = new Source(7,20);

现有客户需要定制长度为L的原来材料N个,每次切割损耗为S,请问如何切割最节约成本,甚于的材料归入库存

如按现有库存,需要3个长度为6的原材料new Source(6,3),损耗为0.1那么结果应该为
a[0]=={9,10};
a[1]=={8,10};
a[2]=={7,17};
a[3]=={0.9,3};

回复列表 (共3个回复)

沙发

最初级思路为 search最短最适合的 制作后更新库存 重复遍历即可
不知道是否有更好的 贪心面对大数据感觉会很乱~

板凳

貌似,贪心好像是最简单的。
若动态规划的话,也太浪费空间了。得不偿失呀!!

3 楼

这种问题第一个想到的算法就应该是贪心,就想楼主所说
大数据可能会产生偏差,楼主的方法太占资源,大数据可能会因为时间的过场而产生不必要的麻烦,所以我建议使用贪心法。

我来回复

您尚未登录,请登录后再回复。点此登录或注册