
算法之背包
算法之背包
Clark-dj
唯有扎下心来做事情学东西才是硬道理!
博客都是平时的一些学习笔记,很多都是自学,难免会有错误和不足之处,望留言指出。一些分享若有侵权,马上删除。
展开
专栏收录文章
- 默认排序
- 最新发布
- 最早发布
- 最多阅读
- 最少阅读
-
Piggy-Bank 完全背包 HDU 1114
题目链接https://cn.vjudge.net/problem/HDU-1114 T代表测试数据的个数。 第一行两个数存钱罐空着 装满状态时的质量, 第二行一个整数N代表存钱罐所装的硬币的种类个数, 接下来的N行, 每行有两个数,硬币的价值P,硬币的质量W。 求出当存钱罐装满时,里面所装的硬币的价值最少 分析: 1.每种货币都能放任意数量,完全背包 2.恰好装满存钱罐,硬币的价值最少, 初始...原创 2018-09-05 18:11:18 · 187 阅读 · 0 评论 -
Piggy-Bank 完全背包 HDU - 1114
https://cn.vjudge.net/problem/HDU-1114 题意: 给定一个储蓄罐可容纳的重量和n个价值为p重量为w的硬币,问在填满储蓄罐的情况最小的价值为多少? 如果没办法填满输出This is impossible. weight(w花费) value (v价值) 一般的背包是达到尽可能大的价值。 变形:小:初始化:将dp[0]=0,其他的都初始化为无穷大即可。...原创 2018-09-05 18:09:36 · 239 阅读 · 0 评论 -
Robberies 01背包 抢银行 java
题目链接:https://cn.vjudge.net/contest/217666#problem/B 抢银行 菜鸟分析: 题意:一个人要去抢银行,给出n个银行各自的总存款和此人在这个银行被抓的概率,求出被抓概率小于p的情况下最多能抢多少钱。 分析: 此题需要将银行总的钱数sum当作背包容量,求出在不同的钱数i下此人逃跑的概率dp[i],i从s...原创 2020-05-27 11:12:32 · 213 阅读 · 0 评论 -
Bone Collector 骨头收集 背包
01背包问题 菜鸟问题分析: //一维解法 import java.util.*; public class Main { static int t,n,c; static int []volume=new int[1002]; static int []value=new int[1002]; static int []dp=new int[1002]; publ...原创 2020-05-27 11:11:31 · 190 阅读 · 0 评论 -
回溯求解01背包问题的算法
//采用剪枝求解01背包问题的算法 #include stdio.h #define MAXN 20 //最多物品数 问题表示 int n=4; //4种物品 int W=6; //限制重量为6 int w[]={0,5,3,2,1}; //存放4个物品重量,不用下标0元素 int v[]={0,4,4,3,1}; //存放4个物品价值,不用下标0元素 求解结...原创 2020-02-07 10:58:10 · 984 阅读 · 1 评论 -
蛮力法背包问题
//求解0/1背包问题 #include <stdio.h> #include <vector> using namespace std; vector<vector<int> > ps; //存放幂集 void PSet(int n) //求1~n的幂集ps { vector<vector<int> > p...原创 2020-02-07 10:55:54 · 705 阅读 · 0 评论 -
ACboy needs your help 分组背包
题目链接 https://cn.vjudge.net/problem/HDU-1712 有n门课程,m天, 给出val[i][j]表示用j天复习i门课程得到val[i][j]的价值,求一个最大价值 分组背包 : N 件物品和V ,第 i 件物品的费用是 c [ i ],价值是 w [ i ]。 这些物品被划分为若干组,每组中的物品互相冲突,最多选一件。 分组背包要保证每组里面的物品不同时...原创 2018-09-05 18:08:28 · 164 阅读 · 0 评论