![](https://img-blog.csdnimg.cn/20190927151101105.png?x-oss-process=image/resize,m_fixed,h_224,w_224)
背包九讲
背包问题
做一只大熊猫
让优秀成为一种习惯!
展开
-
背包问题求解方案数(千万要注意初始化方案数啊!!!)
思路 这题唯一需要注意的地方就是:这提初始化方案数组 wa [] 的时候要把 0~m 都初始化为 1,因为我们求的背包的最优值不一定是要把背包给完全填满,有就行!!! 代码 #include <bits/stdc++.h> using namespace std; #define db double #define ll long long #define Pir pair<int, int> #define fi first #define se second #de.原创 2021-09-15 16:02:20 · 117 阅读 · 0 评论 -
19-NYIST-ACM - 背包专题 [Cloned]
总题目???? A - 钱币兑换问题 HDU - 1284 思路 这一题让求用 n 种物品填满空间为 m 的背包(每个物品可以使用 无限次),这里需要注意 必须要 “填满” 背包才可以, 所以在初始化 dp 的时候,只有 dp [0] = 1, 其他的都初始化为 0, 至于状态转移方程:dp [j + i] += dp [j], 其实它是一个递推式,在状态为 j 的使用使用 空间为 i 的物品,可以让方案状态转移到 dp [j + i]. 代码 #include <iostream> #in原创 2020-09-22 12:17:24 · 217 阅读 · 0 评论 -
背包问题 模版体形汇总
题目总链接 01 背包问题 分析 题意 有 N 件物品和一个容量是 V 的背包。每件物品只能使用一次。 第 1 件物品的体积是 vi, 价值是 Wi 求解将哪些物品装入背包,可使这些物品的总体积不超过背包容量,且总价值最大。 输出最大价值。 输入格式 第一行两个整数,N, V, 用空格隔开,分别表示物品数量和背包容积。 接下来有 N 行,每行两个整数 Vi, Wi, 用空格隔开,分别表示第 i 件物品的体积和价值。 输出格式 输出一个整数,表示最大价值。 数据范围 0 <N, VS 1000原创 2020-09-18 21:48:00 · 220 阅读 · 1 评论 -
F - F HDU - 3281 Balls(动态规划)
Balls(背包问题变形) The classic Two Glass Balls brain-teaser is often posed as: “Given two identical glass spheres, you would like to determine the lowest floor in a 100-story building from which they will...原创 2020-04-21 10:17:34 · 179 阅读 · 0 评论 -
I - I HDU - 3466Proud Merchants(贪心+01背包)
I - I HDU - 3466Proud Merchants(贪心+01背包) Recently, iSea went to an ancient country. For such a long time, it was the most wealthy and powerful kingdom in the world. As a result, the people in this co...原创 2020-04-20 13:07:15 · 204 阅读 · 0 评论 -
B - Checkout Assistant CodeForces - 19B(01背包变形)
Bob 来到一个现金便利店,放置了 n 件商品到他的手推车,然后前往收银台付款。每件商品用两个属性描述:价格 ci,时间 ti (收银员花在这件商品上的时间,以秒计)。当收银员被某件商品占用时间之时,Bob 可以从手推车窃取一些其他商品。Bob 恰好需要 1 秒钟,才能窃取一件商品。请问,Bob 必须最少支付多少钱给收银员?注意:商品递给收银员的顺序,由 Bob 决定。 输入 第一行包含了数 n...原创 2020-04-12 21:07:31 · 218 阅读 · 0 评论 -
D - 渣渣仰慕的爱丽丝 HDU - 6249(背包问题变形)
爱丽丝喜欢集邮。她现在在邮局买一些新邮票。 世界上有各种各样的邮票;它们的编号是1到N。但是,邮票不是单独出售的;必须成套购买。有M套不同的邮票可供选择; 第i套包括编号从li到ri的邮票 。同一枚邮票可能会出现在不止一套邮票中,而且可能在任何一套邮票中都找不到一枚或多枚邮票。 所有套装的价格都是一样的;因为爱丽丝的预算有限,她最多只能买K套不同的邮票。爱丽丝最多能买到多少种不同的邮票? Inp...原创 2020-04-08 17:08:14 · 96 阅读 · 0 评论 -
D - D 分糖果HDU - 1059(完全背包+二进制优化)
有两个小朋友想要平分一大堆糖果,但他们不知道如何平分需要你的帮助,由于没有spj我们只需回答能否平分即可。 糖果大小有6种分别是1、2、3、4、5、6,每种若干颗,现在需要知道能不能将这些糖果分成等额的两堆。 一颗大小为6的糖果,可以相当于2颗大小为3的糖果,其他同理,即大小满足加法,但是1颗糖果是不能被拆分的。 Input 多组输入,每行输入6个非负整数,分别表示大小为1、2、3、4、5、6的糖...原创 2020-04-04 10:06:55 · 260 阅读 · 0 评论 -
P1164 小A点菜
P1164 小A点菜 题意 给你一个空间为 m 的背包,有 n 件物品,第 i 件物品所占的空间为 vi,求恰好装满的方案个数。 思路 这就是一个简单的背包问题,可惜我wa 了大半天,看了题解才明白到的是哪里出现了错误-····哎好菜 二维题解 #include<iostream> using namespace std; const int Len = 1005; int n,m; ...原创 2020-01-22 17:58:07 · 2701 阅读 · 0 评论 -
C - 饭卡
电子科大本部食堂的饭卡有一种很诡异的设计,即在购买之前判断余额。如果购买一个商品之前,卡上的剩余金额大于或等于5元,就一定可以购买成功(即使购买后卡上余额为负),否则无法购买(即使金额足够)。所以大家都希望尽量使卡上的余额最少。 某天,食堂中有n种菜出售,每种菜可购买一次。已知每种菜的价格以及卡上的余额,问最少可使卡上的余额为多少。 Input 多组数据。对于每组数据: 第一行为正整数n,表...原创 2019-12-28 17:27:17 · 199 阅读 · 0 评论 -
B - Charlie's Change
Charlie is a driver of Advanced Cargo Movement, Ltd. Charlie drives a lot and so he often buys coffee at coffee vending machines at motorests. Charlie hates change. That is basically the setup of you...原创 2019-12-28 17:06:40 · 152 阅读 · 1 评论 -
A - Investment
A - Investment John never knew he had a grand-uncle, until he received the notary’s letter. He learned that his late grand-uncle had gathered a lot of money, somewhere in South-America, and that John...原创 2019-12-28 12:23:45 · 239 阅读 · 0 评论 -
M - 湫湫系列故事——减肥记I
M - 湫湫系列故事——减肥记I 对于吃货来说,过年最幸福的事就是吃了,没有之一! 但是对于女生来说,卡路里(热量)是天敌啊! 资深美女湫湫深谙“胖来如山倒,胖去如抽丝”的道理,所以她希望你能帮忙制定一个食谱,能使她吃得开心的同时,不会制造太多的天敌。 当然,为了方便你制作食谱,湫湫给了你每日食物清单,上面描述了当天她想吃的每种食物能带给她的幸福程度,以及会增加的卡路里量。 Input...原创 2019-12-28 12:06:36 · 175 阅读 · 0 评论 -
H - Bone Collector
H - Bone Collector Many years ago , in Teddy’s hometown there was a man who was called “Bone Collector”. This man like to collect varies of bones , such as dog’s , cow’s , also he went to the grave … ...原创 2019-12-28 11:57:04 · 147 阅读 · 0 评论 -
My背包九讲——01背包
文章目录背包问题中的常用变量说明题目解题思路我想要想理解最简单 01背包就是要`理解????面这个表格`代码思路:先讲状态转移方程废话不多说上代码优化空间复杂度背包问题初始化细节恰好把背包装满的时候的最大值初始化细节的另一个变种:`恰好装满时的方案数`:背包问题最优解回溯回溯过程理解回溯代码如下背包第K大值问题说说我的理解看代码吧,更容易理解习题传送门 背包问题中的常用变量说明 n 表示有几种...原创 2019-12-26 18:41:35 · 514 阅读 · 2 评论 -
My背包九讲——概述
文章目录什么是背包问题背包问题的分类第一讲 01背包问题第二讲 完全背包问题第三讲 多重背包问题第四讲 混合三种背包问题第五讲 二维费用的背包问题第六讲 分组的背包问题第七讲 有依赖的背包问题第八讲 泛化物品第九讲 背包问题问法的变化 什么是背包问题 百度百科:背包问题(Knapsackproblem)是一种组合优化的NP完全问题。正确代码 问题可以描述为:给定一组物品,每种物品都有自己的重量...原创 2019-12-25 20:04:10 · 202 阅读 · 0 评论 -
单调队列(多重背包优化铺垫)
文章目录我为什么想写这篇单调队列的总结单调队列是什么、怎么理解单调队列有什么用先举个????去感受它的 操作过程单调队列作用单调队列实例解析 :最大子序和思路如下:题解如下 一:题解如下 二:题解如下 三: 我为什么想写这篇单调队列的总结 一个原因是我在在看背包问题里的 多重背包解题优化 的时候后看到了 一种算是我现在知道最高效的一个优化方法,了解到可以用 单调队列优化 去大大的减小运算复杂度,然后...原创 2019-12-22 17:09:45 · 304 阅读 · 0 评论