
算法
文章平均质量分 59
闲的没事干搞点简单算法恰恰把~
啊呀咦哟嘿
这个作者很懒,什么都没留下…
展开
专栏收录文章
- 默认排序
- 最新发布
- 最早发布
- 最多阅读
- 最少阅读
-
多重背包问题(含暴力、二进制优化和单调队列优化)
题目 想法1:暴力解决 直接设k表示第i件物品有多少。 #include<iostream> using namespace std; const int MAX=1005; int w[MAX]; int v[MAX]; int s[MAX]; int f[MAX][MAX]; int max(int a,int b){ if(a>b) return a; else return b; } int main(){ int N,V,j; cin>>N>>原创 2021-09-24 20:20:47 · 252 阅读 · 0 评论 -
完全背包问题
题目 想法1 采用三层循环,尝试第i种装k个的情况,只要第i中装k个的体积<j就比较采用前i个装j容量和采用前i-1个装j-k*v[i]容量价值+k*w[i]价值之和哪个比较大 #include<iostream> using namespace std; const int MAX=1005; int w[MAX]; int v[MAX]; int f[MAX][MAX]; int max(int a,int b){ if(a>b) return a; else return b原创 2021-09-23 20:03:48 · 167 阅读 · 0 评论 -
01背包(含二维数组变为一维数组)
01背包 有 N 件物品和一个容量是 V 的背包。每件物品只能使用一次。 第 i 件物品的体积是 vi,价值是 wi。 求解将哪些物品装入背包,可使这些物品的总体积不超过背包容量,且总价值最大。 输出最大价值。 输入格式 第一行两个整数,N,V,用空格隔开,分别表示物品数量和背包容积。 接下来有 N 行,每行两个整数 vi,wi,用空格隔开,分别表示第 i 件物品的体积和价值。 输出格式 输出一个整数,表示最大价值。 数据范围 0<N,V≤1000 0<vi,wi≤1000 输入样例 4 5 1原创 2021-09-23 19:19:48 · 235 阅读 · 0 评论