![](https://img-blog.csdnimg.cn/20190918140145169.png?x-oss-process=image/resize,m_fixed,h_224,w_224)
算法之背包
算法之背包
Clark-dj
唯有扎下心来做事情学东西才是硬道理!
博客都是平时的一些学习笔记,很多都是自学,难免会有错误和不足之处,望留言指出。一些分享若有侵权,马上删除。
展开
-
Piggy-Bank 完全背包 HDU 1114
题目链接https://cn.vjudge.net/problem/HDU-1114T代表测试数据的个数。第一行两个数存钱罐空着 装满状态时的质量,第二行一个整数N代表存钱罐所装的硬币的种类个数,接下来的N行,每行有两个数,硬币的价值P,硬币的质量W。求出当存钱罐装满时,里面所装的硬币的价值最少分析:1.每种货币都能放任意数量,完全背包2.恰好装满存钱罐,硬币的价值最少,初始...原创 2018-09-05 18:11:18 · 158 阅读 · 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 · 204 阅读 · 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 · 184 阅读 · 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 · 172 阅读 · 0 评论 -
回溯求解01背包问题的算法
//采用剪枝求解01背包问题的算法#include stdio.h#define MAXN 20 //最多物品数问题表示int n=4; //4种物品int W=6; //限制重量为6int w[]={0,5,3,2,1}; //存放4个物品重量,不用下标0元素int v[]={0,4,4,3,1}; //存放4个物品价值,不用下标0元素求解结...原创 2020-02-07 10:58:10 · 893 阅读 · 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 · 655 阅读 · 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 · 146 阅读 · 0 评论