这两天有新型病毒,吓得人都不敢出去,不过这也给我提供了更多刷题时间。 先来讲比赛吧,这场比赛算是比较水,也成为了第二个被我AK的abc。 https://atcoder.jp/contests/abc153 首先前四题实在太水了,这里也不多讲了。 第五题是一个经典的背包问题, 可以选择把空间开大一点 ...
分类:
其他好文 时间:
2020-01-27 12:35:54
阅读次数:
92
12.1 背包问题 12.1.1 题目模型 有 件物品和一个容量为 的背包。第 件物品的体积是 ,价值是 。求解将哪些物品装入背包可使价值总和最大。 12.1.2 基本思路 这是最基础的背包问题,特点是:每种物品仅有一件,可以选择放或不放。 用子问题定义状态:即 表示前 件物品恰放入一个容量为 的背 ...
分类:
其他好文 时间:
2020-01-24 17:30:03
阅读次数:
81
G - 小明系列故事——买年货 HDU4501 三维费用背包,枚举积分,钱数和免费个数 多维费用背包要在循环体内设计比较,而不能直接在for循环语句中设置类似普通01背包的语句j>=a[i]这样的语句,因为即使有一维不能满足,不代表其他维不能满足,这样会丢弃部分情况 #include<iostrea ...
分类:
其他好文 时间:
2020-01-22 12:38:30
阅读次数:
75
#include<iostream> #include<algorithm> using namespace std; int m,n,w[31],c[31],f[31][201],p; int main(){ cin>>m>>n; for(int i=1;i<=n;i++) cin>>w[i]>> ...
分类:
其他好文 时间:
2020-01-21 23:12:33
阅读次数:
110
简单的背包问题 背包问题动态规划中非常经典的一个问题,本文只包含01背包,完全背包和多重背包。更加详尽的背包问题的讲解请参考崔添翼大神的《背包九讲》 简单的01背包 问题导入:新年到了,mjl马上就要外出旅游。mjl拥有一个容量为P的小背包,他希望在自己的n件体积为Vi的物品中带走的物品体积之和尽可 ...
分类:
编程语言 时间:
2020-01-20 22:52:57
阅读次数:
115
#include<iostream> #include<algorithm> using namespace std; int m,n,w[31],c[31],f[31][201],p; int main(){ cin>>m>>n; for(int i=1;i<=n;i++) cin>>w[i]>> ...
分类:
其他好文 时间:
2020-01-20 21:04:33
阅读次数:
68
蒜头君很早就想出国,现在他已经考完了所有需要的考试,准备了所有要准备的材料,于是,便需要去申请学校了。要申请国外的任何大学,你都要交纳一定的申请费用,这可是很惊人的。蒜头君没有多少钱,总共只攒了n万元。他将在m个学校中选择若干的(当然要在他的经济承受范围内)。每个学校都有不同的申请费用a (万美元) ...
分类:
其他好文 时间:
2020-01-20 19:13:23
阅读次数:
100
背包问题 给定一组物品,每种物品都有自己的重量和价值,现有一个背包,能承受的重量有限,在受限制的重量下,取若干物品,使得总价值最大。这一类问题,被称为背包问题。 01背包(物品个数为1) for (int i = 1; i <= N; ++i) { for (int j = 0; j <= V; + ...
分类:
其他好文 时间:
2020-01-18 16:30:45
阅读次数:
94
# 算法 || 背包问题总结 # 1、0 1背包。 何谓0-1背包,可以这样想,那里有一堆值钱的东西,每一样东西只有一件,他们的价值和体积都不一样,现在要你从这n件里面挑选一些放到一个容量一定的背包里面,使得你的背包里的东西总价值最大。对于这些东西的每一件,你可以选择放进你的背包或者是不放进去。(这 ...
分类:
其他好文 时间:
2020-01-17 23:19:18
阅读次数:
87
完全背包问题 $\begin{cases}dp[0][j]=0\\dp[i+1][j]=max(dp[i][j k w[i]]+k v[i]) \end{cases}$ 代码: cpp for(int i=0;i 同时出于节省内存的考虑,可以将其用一维数组表示 cpp for(int i=0;i=w ...
分类:
其他好文 时间:
2020-01-14 20:27:46
阅读次数:
66