故事 我想让我的祖母着名的N豆汤。该配方需要准确的N个豆子。 杂货店只出售预包装袋中的豆类。每个袋子都包含一定数量的豆子,价格不同。 1000 for $300 ($.3 per bean) 750 for $225 ($.3 per bean) 600 for $180 ($.3 per bean) 300 for $150 ($.5 per bean) 250 for $125 ($.5 pe
我有以下一组整数{2,9,4,1,8}。我需要把这个集合分成两个子集,以便集合的总和分别为14和10。在我的例子中,答案是{2,4,8}和{9,1}。我不寻找任何代码。我很确定必须有一个标准的算法来解决这个问题。由于我没有成功搜索并找到自己,我在这里发布了我的查询。那么解决这个问题最好的办法是什么? 我的尝试是这样的... public class Test {
public stati
我对背包问题有以下解决方案:(wt []是权重数组,val []是值数组,n是数组大小,index是当前项目,我们是尝试(用于递归)和改编是表示天气或不项目i是包含在溶液的阵列。 int knapSack(int W, int wt[], int val[], int n, int index, int arr[])
{
if (n == index || W == 0)
我需要使用回溯来解决背包问题。这是我可能不得不为我的问题做的一个例子。我的问题是,我怎么知道边界?我知道根节点的边界是$ 115,因为它是所有值的总和。但我不明白的是,根的正确孩子如何拥有82美元的约束。 我发现这个文本,说明这是什么意思,但我仍然困惑: For a maximization problem the bound is an upper bound,
– the large