动态规划 背包
Yishui_Blog
Try our best
展开
专栏收录文章
- 默认排序
- 最新发布
- 最早发布
- 最多阅读
- 最少阅读
-
HDUoj 2546 & 2602 & 1171 ( 01背包
饭卡Time Limit: 5000/1000 MS (Java/Others) Memory Limit: 32768/32768 K (Java/Others)Total Submission(s): 26373 Accepted Submission(s): 9216Problem Description 电子科大本部食堂的饭卡有一种很诡异的设计,即在购买之前判断余额。如果购买一个原创 2017-02-25 01:53:38 · 440 阅读 · 0 评论 -
洛谷 P1417 烹调方案 (01背包+贪心
题意:明显的一个背包问题,题写的太少了,唉, 但是它的价值是与ttt有关的,然后 ttt又是不断变化的,在看了题解以后 我们对相邻的两个任务进行化简会发现价值的变化只和 bbb,ccc相乘的关系有关, 相乘即可xc∗yb&lt;yc∗xbx_c*y_b&lt;y_c*x_bxc∗yb<yc∗xb我们还可以发现一个小小的问题, 时间虽然越靠后 做得的0...原创 2018-10-09 17:23:31 · 205 阅读 · 0 评论 -
HDU - 1248 寒冰王座 (完全背包
题意: 很裸。。。。#include <bits/stdc++.h>using namespace std;#define se second#define fi first#define ll long long#define CLR(a,b) memset(a,(b),sizeof(a))const int MAXN = (int)1e5+10;int ...原创 2018-08-04 22:40:56 · 354 阅读 · 0 评论 -
HDU 4508 湫湫系列故事——减肥记I ( 完全背包
题意: 完全背包模板#include <bits/stdc++.h>using namespace std;#define se second#define fi first#define ll long long#define CLR(a,b) memset(a,(b),sizeof(a))const int MAXN = (int)1e5+10;int ...原创 2018-08-04 22:20:09 · 196 阅读 · 0 评论 -
51Nod 1101 换零钱 ( dp
确定 状态为 dp[i][j]dp[i][j]dp[i][j] 表示前iii个物品选或者不选 结果为j的方案数, dp[i][j]=dp[i−1][j]+dp[i][j−w[i]]dp[i][j]=dp[i−1][j]+dp[i][j−w[i]]dp[i][j] = dp[i-1][j]+dp[i][j-w[i]] 和当前状态有关,顺序滚动数组,其实就是个完全背包QWQ#inclu...原创 2018-06-10 20:31:00 · 148 阅读 · 0 评论 -
51Nod 1007 正整数分组 ( 01背包变形
惭愧惭愧,差点没看出来这个就是裸的01背包 考虑到 当两组数值为sum/2sum/2sum/2的时候,差值最小 那么这个题就是一个一个背包容量为sum/2sum/2sum/2, 重量和价值都是数子本身大小的010101背包 找到背包内最大的价值,就是分组相差最小的方案#include &lt;bits/stdc++.h&gt;using namespace std;const ...原创 2018-06-10 19:19:31 · 207 阅读 · 0 评论 -
HDU - 1712 ACboy needs your help ( 分组背包
题意 GG翻译 ACboy有这个学期的N门课程,他计划最多花费M天时间学习。当然,他将从不同的课程中获得的利润取决于他花费的时间。如何安排N门课程的M天利润最大化? 输入由多个数据集组成。数据集以包含两个正整数N和M的行开始,N是课程数,M是ACboy所具有的日子。接下来是矩阵A [i] [j],(1 <= i <= N <= 100,1 <= j <= M ...原创 2018-06-10 17:29:27 · 417 阅读 · 0 评论 -
洛谷 P1048 采药 P1616 疯狂的采药 ( 01/完全背包
一道完全背包的裸题#include &lt;bits/stdc++.h&gt;using namespace std;const int MAXN = 2e5+10;int w[MAXN], v[MAXN];int dp[MAXN];int main(int argc, char const *argv[]){ int n, m; cin &gt;&gt; ...原创 2018-06-10 15:01:29 · 318 阅读 · 0 评论 -
洛谷 P1049 装箱问题 (搜索 / 背包
还是选与不选的问题, 数据范围这么小,DFS一下就醒了背包思想: 题目要求出最大的装载量,每个物品的重量为它的价值, 所以这就是一个裸的01背包了啦啦啦啦搜索#include &lt;bits/stdc++.h&gt;using namespace std;const int MAXN = 2e5+10;int v, n;int w[MAXN];int xx = ...原创 2018-06-10 14:15:17 · 245 阅读 · 0 评论 -
洛谷 P1164 小A点菜 ( 01背包的方案数
思考 恰好花完所有钱, dp[j]+=dp[j−v[i]]dp[j]+=dp[j−v[i]]dp[j] += dp[j-v[i]] 考虑状态转移添加的方案数 dp[0]dp[0]dp[0] 等于1 若是 最好没有减到1 那么最后的状态dp[m]dp[m]dp[m]的方案数也一定为0#include <bits/stdc++.h>using namespace std;...原创 2018-06-09 17:40:34 · 271 阅读 · 0 评论 -
洛谷 P1060 开心的金明 (01背包
P1060 开心的金明裸的01背包 , 给的钱数为背包的容量 价值为物品价值*好感度 重量为物品的价格#include &lt;bits/stdc++.h&gt;using namespace std;const int MAXN = 2e5+10;int w[MAXN], v[MAXN];int dp[MAXN];int main(int argc, char con...原创 2018-06-09 17:22:57 · 357 阅读 · 0 评论 -
51Nod 1086 背包问题 V2 ( 二进制拆分优化
1086 背包问题 V2题目描述有N种物品,每种物品的数量为C1,C2……Cn。从中任选若干件放在容量为W的背包里,每种物品的体积为W1,W2……Wn(Wi为整数),与之相对应的价值为P1,P2……Pn(Pi为整数)。求背包能够容纳的最大价值。输入第1行,2个整数,N和W中间用空格隔开。N为物品的种类,W为背包的容量。(1 <= N <= 100,1 <= W ...原创 2018-06-08 22:49:05 · 183 阅读 · 0 评论 -
Poj- 1384-Piggy-Bank (完全背包
Piggy-Bank DescriptionBefore ACM can do anything, a budget must be prepared and the necessary financial support obtained. The main income for this action comes from Irreversibly Bound Money (IBM). The原创 2017-06-10 17:20:35 · 375 阅读 · 0 评论 -
玲珑oj 1125 - 咸鱼商店 (01背包
1125 - 咸鱼商店Description你现在在咸鱼商店,你有M元钱。咸鱼商店有N个物品,每个物品有两个属性,一个是他的价格S[i],另外一个是他的价值V[i]。现在你想买一些物品,使得这些物品的价值和大于等于K,并且使得其中价值最低的商品的价值尽量高。请你输出这个最大价值。Input第一行三个整数N,M,K。 接下来N行,每行两个整数S和V,分别表示价格和价值。满足:1 <= N, M, S原创 2017-05-30 21:22:22 · 412 阅读 · 0 评论 -
P1855 榨取kkksc03 (多维背包
题目链接https://www.luogu.org/problemnew/show/P1855题意:二维背包的模板, 两个容量 将01背包数组再开一一维记录值就可以了#include <bits/stdc++.h>using namespace std;#define cpp_io() {ios::sync_with_stdio(false); cin.tie(N...原创 2018-10-09 20:26:34 · 255 阅读 · 0 评论
分享