问题描述:有N种物品和一个容量是V的背包第i种物品最多有si件,每件体积是vi,价值是wi。 求解将哪些物品装入背包,可使这些物品的总体积不超过背包容量,且总价值最大。输出最大价值。输入: 第一行两个整数,N,V,用空格隔开,分别表示物品种数和背包容积。接下来有N行,每行三个整数vi,wi,si,用 ...
分类:
其他好文 时间:
2020-05-03 20:34:48
阅读次数:
52
```#include #include #include #include using namespace std;const int N = 3030;int h[N], e[N], ne[N], w[N], idx;int val[N];int n, m;//n为整个有线电视网的结点总数,m为... ...
分类:
其他好文 时间:
2020-05-03 20:25:08
阅读次数:
58
题目如上,一个背包类 dp 问题。感觉该题的解题思路算是相当经典了,小记一下。 做这个题有如下感悟: 1、dp 是一个运筹学问题,做题时不要忽略方程的本质:用小问题表示大问题,用函数表示函数。大问题可以用小问题表示,反过来,小问题的组合可以合并为大问题。在多维 dp 中要尤其注意,这可以帮助我们将一 ...
分类:
其他好文 时间:
2020-05-03 00:57:49
阅读次数:
57
``` #include #include #include using namespace std; const int N = 500; int f[N][N]; int h[N], e[N], ne[N], idx; int n, p; int ans = 0x3f3f3f3f; int in... ...
分类:
其他好文 时间:
2020-05-02 22:51:03
阅读次数:
56
[toc] 背包问题 来源 完全基于 中山纪念中学 宋新波ppt 的一次复习 动态规划的关键点 最优化原理 子问题最优化结构 无后效性 未来与过去无关 状态 描述最优解的结构 状态转移方程 递归定义最优解的值 程序实现 用记忆化搜索或迭代法求解 No.1:01背包 问题 有N种物品和一个容量为V的背 ...
分类:
其他好文 时间:
2020-05-02 18:40:42
阅读次数:
74
#include<bits/stdc++.h> using namespace std; const int maxn = 1e4 + 10; int n,c,v,vv[maxn],w[maxn],dp[maxn]; int main(){ //freopen("in","r",stdin); io ...
分类:
其他好文 时间:
2020-05-01 18:32:30
阅读次数:
50
前言 算法基础的第三部分!这几部分其实讲述的都不太详细,因为许多内容都算比较清楚了,也不想太深入讨论,不过应该后面会进行补充。 (总目录:https://www.cnblogs.com/jinkun113/p/12528423.html) 子目录列表 1、贪心 2、背包问题 3、正确性证明 2.3 ...
分类:
编程语言 时间:
2020-04-30 15:32:59
阅读次数:
76
01背包:在M件物品取出若干件放在空间为W的背包里,每件物品的体积为W1,W2至Wn,与之相对应的价值为P1,P2至Pn。求背包在可以装下的情况下的最大价值是多少? 1.建立状态:令dp[M][W]为M件物品放入空间为W的背包的最大价值。 2.分析状态转移方程:对每一个物品,仅可以选择放一个进去或者 ...
分类:
编程语言 时间:
2020-04-30 13:26:57
阅读次数:
58
有 NN 种物品和一个容量是 VV 的背包。 第 ii 种物品最多有 sisi 件,每件体积是 vivi,价值是 wiwi。 求解将哪些物品装入背包,可使物品体积总和不超过背包容量,且价值总和最大。输出最大价值。 输入格式 第一行两个整数,N,VN,V,用空格隔开,分别表示物品种数和背包容积。 接下 ...
分类:
其他好文 时间:
2020-04-30 11:33:10
阅读次数:
75