美文网首页
背包问题之动态归化算法

背包问题之动态归化算法

作者: 笔水墨 | 来源:发表于2018-01-12 17:18 被阅读0次

网上有一篇文章思路很清晰,http://www.sohu.com/a/149393500_479559,但图示的代码有些问题,自己的理解,把代码小改了下,贴出来大家一起学习。

public class Golden {

public static void main(String[] args) {

int[] g = { 40, 50, 90, 85, 42 };

int[] p = { 35, 45, 65, 54, 28 };

getMostGold(p.length, 88, g, p);

}

private static int getMostGold(int n, int w, int[] g, int p[]) {

int[] preResults = new int[w + 1];

int[] results = new int[w + 1];

// 填充边界格子的值

for (int i = 0; i <= w; i++) {

if (i < p[0]) {

preResults[i] = 0;

} else {

preResults[i] = g[0];

}

}

// 填充其余格子的值,外层循环是金矿数量,内层循环是工人数

for (int i = 1; i < n; i++) {

for (int j = 0; j <= w; j++) {

if (j < p[i]) {

results[j] = preResults[j];

} else {

results[j] = Math.max(preResults[j], preResults[j - p[i]] + g[i]);

}

}

preResults = results;

}

System.out.println(results[w]);

return results[w];

}

}

相关文章

  • 背包问题之动态归化算法

    网上有一篇文章思路很清晰,http://www.sohu.com/a/149393500_479559,但图示的代...

  • 2019-07-10 数据结构和算法(妙味杜鹏)

    八皇后 A *寻路 背包问题(动态规划方法) 背包问题(贪心算法)

  • 2018-11-14

    今天学了动态规划一些知识,着重看了一下动态规划之背包算法(主要是0-1算法和部分算法),关于动态规划的问题重点是建...

  • 初识动态规划

    0-1 背包问题 备忘录 动态规划-二维数组 动态规划-一维数组 0-1 背包问题升级版 回溯算法 动态规划-二维...

  • 算法-动态规划-背包问题

    背包问题是基础的动态规划问题,包含了0-1背包,完全背包,多重背包等。 0-1背包 存在容量为 的背包 , 件体...

  • 动太规划

    动太规划问题有很多,这里只讨论两个问题: 取子数组的最大和 01背包问题 参考:算法之美:动态规划 - Bourb...

  • 算法思想之动态规划(七)——背包问题

    前言 今天我们继续讨论经典的动态规划问题之背包问题。 背包问题 问题描述 一个背包有一定的承重capacity,有...

  • 动态规划算法之背包问题

    物品重量(磅)价格吉他(G)21500音响(S)45000电脑(L)52000 装入的背包的总价值最大,并且重量不...

  • 算法之背包问题

    背包问题(Knapsack problem) 背包问题是一种组合优化问题,为NP-C Problem 描述 给定一...

  • Java使用动态规划算法思想解决01背包问题

    Java使用动态规划算法思想解决背包问题 背包问题是一种组合优化的NP完全问题。问题可以描述为:给定一组物品,每种...

网友评论

      本文标题:背包问题之动态归化算法

      本文链接:https://www.haomeiwen.com/subject/kpwfoxtx.html