背包问题
01背包及其优化
完全背包及其优化
大果壳Clap
感谢你的关注!
展开
-
01背包问题—dp算法(动态规划)—java代码
import java.util.*;//背包public class Main { public static void main(String[] args){ int N,V; Scanner scanner = new Scanner(System.in); N = scanner.nextInt();//物品数 V = scanner.nextInt();//背包容积 int[] v = new int[N+1];//每个物品的体积 int[] w = new int原创 2022-02-09 13:29:55 · 800 阅读 · 0 评论 -
完全背包的三种不断优化的解法—dp算法(动态规划)—java
8.2.1(2)完全背包问题题目:在01背包的基础上,将每个物品的数目改成无限个。普通解法1:在01背包的基础上加上一层for循环。import java.util.*;//背包//dfs暴力public class 草稿纸 { public static void main(String[] args){ int N,V; Scanner scanner = new Scanner(System.in); N = scanner.nextInt();//物品数 V = sc原创 2022-02-09 19:42:06 · 386 阅读 · 0 评论 -
分配口罩(动态规划,01背包)
分配口罩(动态规划,01背包)题目大意解题思路属于动态规划类型的题目:即(有限制的最优选择问题)我们设A医院分配为的口罩为high,设B医院分配为的口罩为low,题目要求我们求 min(high - low),其中high = sum(所有口罩的总重量)- low:所以原方程化简为:min(sum - 2* low) = min 2*(sum/2 - low) , 即求max(low)所以题目等价为:从15批口罩中选,总价值不超过 sum/2的最大值原创 2022-04-10 16:37:22 · 515 阅读 · 0 评论