当前位置: 首页 > news >正文

推荐聊城网站建设免费b站推广网站下载

推荐聊城网站建设,免费b站推广网站下载,郑州seo网站有优化,五分钟wordpress0/1背包问题。给定一载重量为W的背包及n个重量为wi、价值为vi的物体,1≤i≤n,要求重量和恰好为W具有最大的价值。 输入格式: 第一行输入背包载重量W及背包个数n,再依次输入n行,每行为背包重量wi和价值vi。 输出格式: 第一行输出装入背包内…

0/1背包问题。给定一载重量为W的背包及n个重量为wi、价值为vi的物体,1≤i≤n,要求重量和恰好为W具有最大的价值。

输入格式:

第一行输入背包载重量W及背包个数n,再依次输入n行,每行为背包重量wi和价值vi。

输出格式:

第一行输出装入背包内的物体编号(末尾有空格),若没有任何物品能装入,输出: No,第二行输出背包内的物体总价值。

输入样例1:

5 10
2 6
2 3
6 5
5 4
4 6

输出样例1:

1 2 3 
14

输入样例2:

2 10
11 2
13 100

输出样例2:

No
0

 学校老师给的题目与网上有一点偏差,但区别不大。
本题思路参考自这篇文章:7-12 0/1背包问题 (30 分)_给定一载重量为w的背包及n个重量为wi、价值为vi的物体,1≤i≤n,要求而且重量和恰-CSDN博客

修改后符合本题的代码如下:
 

#include <bits/stdc++.h>
using namespace std;int n, maxw, maxv = 0; 
int v[101];        
int w[101];  
vector<vector<int>> ps; // 存储所有物品编号的子集
vector<int>::iterator r; // 用于遍历子集中的物品编号
vector<vector<int>>::iterator t; // 存储最优解对应的子集// 生成所有物品编号的子集
void power() {vector<vector<int>> ps1; // 临时存储当前子集vector<vector<int>>::iterator it; // 用于遍历当前子集vector<int> s;ps.push_back(s);// 遍历物品编号for (int i = 1; i <= n; i++) {ps1 = ps; // 将当前子集保存到临时变量 ps1// 遍历 ps1 中的每个子集,将物品编号 i 添加其中for (it = ps1.begin(); it != ps1.end(); it++) {(*it).push_back(i); // 向子集中添加物品编号i}// 将扩展后的子集加入psfor (it = ps1.begin(); it != ps1.end(); it++) {ps.push_back(*it);}}
}// 判断每个子集是否满足条件并找出最优解
void juddge() {vector<vector<int>>::iterator it;vector<int>::iterator pt; t = ps.end(); // 遍历所有子集for (it = ps.begin(); it != ps.end(); it++) {int sumv = 0; // 当前子集的总价值int sumw = 0; // 当前子集的总重量// 遍历当前子集中的物品编号for (pt = (*it).begin(); pt != (*it).end(); pt++) {sumw += w[*pt]; // 累加当前子集中物品的重量sumv += v[*pt]; // 累加当前子集中物品的价值}// 如果子集的总重量恰好等于 maxw 且总价值大于当前最大价值if (sumw == maxw && sumv > maxv) {maxv = sumv; t = it; // 记录当前子集为最优解}}
}int main() {cin >> n >> maxw;for (int i = 1; i <= n; i++) {cin >> w[i] >> v[i];}power(); // 生成所有子集juddge(); // 判断子集是否满足条件并找出最优解// 如果没有找到符合条件的子集if (t == ps.end()) {cout << "No" << endl; // 输出 Nocout << "0"; // 输出总价值为0}else {// 输出最优解中的物品编号for (r = (*t).begin(); r != (*t).end(); r++) {cout << *r << " ";}cout << endl;cout << maxv;}return 0;
}

http://www.hkea.cn/news/297459/

相关文章:

  • 新闻头条最新消息今日头条站长之家seo综合
  • app与网站宁波seo网络推广渠道介绍
  • 国外学做咖啡的网站百度高级搜索网址
  • 建网站开源代码游戏推广怎么找玩家
  • 莱州哪里有做网站的浙江网站建设平台
  • ps网站设计与制作免费推广seo
  • 网站查询功能怎么做关键词搜索量怎么查
  • 付费网站推广网站优化包括哪些内容
  • 在日本做色情网站广州seo外包
  • 最棒的网站建设考研最靠谱的培训机构
  • 广州建设企业网站黑河seo
  • 招商网站建设性价比高seo排名优化的
  • 产品网站怎么做的长沙正规关键词优化价格从优
  • 怎样查询江西省城乡建设厅网站杭州seo网
  • 网站建设空间是指什么软件网站优化最为重要的内容是
  • 做美工要开通什么网站的会员呢新网站友链
  • 网站集约化建设推进情况推广app赚钱
  • 番禺大石做网站域名污染查询网站
  • 长沙市在建工程项目免费seo快速排名工具
  • 南宁定制网站制作电话图片外链生成工具
  • 哪些网站做的海报比较高大上百度客服电话是多少
  • 菏泽网站建设电话常州seo外包
  • 做木皮的网站裂变营销五种模式十六种方法
  • 精美 企业网站模板微信软文推广怎么做
  • 怎么建立一个网站里面可以查询资料百度权重域名
  • 网站建设顺序镇江交叉口优化
  • 低价企业网站搭建软文新闻发布网站
  • 创造与魔法官方网站做自己喜欢的事seo视频
  • 淘宝联盟推广网站怎么做吉安seo招聘
  • 工程招聘网站如何免费制作自己的网站