背包问题
Bryan要加油
这个作者很懒,什么都没留下…
展开
-
AcWing 9. 分组背包问题
有 N 组物品和一个容量是 V 的背包。 每组物品有若干个,同一组内的物品最多只能选一个。 每件物品的体积是 vij,价值是 wij,其中 i 是组号,j 是组内编号。 求解将哪些物品装入背包,可使物品总体积不超过背包容量,且总价值最大。 输出最大价值。 输入格式 第一行有两个整数 N,V,用空格隔开,分别表示物品组数和背包容量。 接下来有 N 组数据: 每组数据第一行有一个整数 Si,表示第 i 个物品组的物品数量; 每组数据接下来有 Si 行,每行有两个整数 vij,wij,用空格隔开,分别表示第 i原创 2020-10-14 22:27:22 · 350 阅读 · 0 评论 -
AcWing 5. 多重背包问题 II
有 N 种物品和一个容量是 V 的背包。 第 i 种物品最多有 si 件,每件体积是 vi,价值是 wi。 求解将哪些物品装入背包,可使物品体积总和不超过背包容量,且价值总和最大。 输出最大价值。 输入格式 第一行两个整数,N,V,用空格隔开,分别表示物品种数和背包容积。 接下来有 N 行,每行三个整数 vi,wi,si,用空格隔开,分别表示第 i 种物品的体积、价值和数量。 输出格式 输出一个整数,表示最大价值。 数据范围 0<N≤1000 0<V≤2000 0<vi,wi,si≤200原创 2020-10-13 22:37:05 · 287 阅读 · 0 评论 -
AcWing 4.多重背包问题 I
1小时12分原创 2020-10-09 22:12:36 · 699 阅读 · 0 评论 -
416. Partition Equal Subset Sum(Leetcode每日一题-2020.10.11)
Problem Given a non-empty array containing only positive integers, find if the array can be partitioned into two subsets such that the sum of elements in both subsets is equal. Note: Each of the array element will not exceed 100. The array size will not e原创 2020-09-21 20:59:15 · 399 阅读 · 0 评论 -
AcWing 3.完全背包问题
问题描述 问题解析 朴素做法 #include <iostream> using namespace std; const int N = 1010; int n; int m; int v[N]; int w[N]; int f[N][N]; int main() { cin >> n >> m; for(int i = 1;i<=n;++i) cin >> v[i] >> w[i];原创 2020-06-26 16:31:15 · 224 阅读 · 0 评论 -
AcWing 2.01背包问题
问题描述 问题解析 朴素做法 #include <iostream> #include <algorithm> using namespace std; const int N = 1010; int n; int m; int v[N]; int w[N]; int f[N][N]; int main(void) { cin >> n >> m; for(int i = 1;i<=n;++i) {原创 2020-06-26 15:41:51 · 236 阅读 · 0 评论