C# 分布算法
我有一个班级项目列表:C# 分布算法,c#,algorithm,list,grouping,knapsack-problem,C#,Algorithm,List,Grouping,Knapsack Problem,我有一个班级项目列表: public class Item { public int Id { get; set; } public string Name { get; set; } public int ItemSize { get; set; } public int? ContainerId { get; set; } } 也是一个类容器 public class Container { public int Id { get; set; } pub
public class Item
{
public int Id { get; set; }
public string Name { get; set; }
public int ItemSize { get; set; }
public int? ContainerId { get; set; }
}
也是一个类容器
public class Container
{
public int Id { get; set; }
public int ContainerSize { get; set; }
}
容器具有属性大小的最大值。
我需要将列表中的每个对象分配给一个容器,注意以下规则:
非常感谢您的建议。按容器ID拆分项目,并使用背包算法解决单独的问题实例
因此,如果您有比最大容器大小更多的同名物品,那么您应该将溢出的物品放入一个新容器中,或者根本不关心溢出?您标记正确:使用背包algorithm@AttilaBuj我不能有“溢出”。输入数据将阻止它。容器的最小可能数量?简单-创建一个容器大小为
MyListItemList.Count
的容器,并将所有内容放入其中。你的两个条件都满足了。我猜这并不是完全的问题,事实上,你会得到一组容器,它们的大小是固定的…@Mashton一个容器有一个最大的ContainerSize属性值,我一开始就没有容器。目标是创造它们。也许我误解了答案?然后为每个出现的ID创建一个容器。