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

智慧旅游网站建设方案ppt模板辽宁好的百度seo公司

智慧旅游网站建设方案ppt模板,辽宁好的百度seo公司,网站如何做免费的推广,前几年做啥网站致富在acwing.com中的题,本次为01背包问题【具体视频可通过www.acwing.com/video/214网站观看(ps:是跟着视频中的老师一起写的,并不是原创~~~)】 01背包问题题目: 有N件物品和一个容量是V的背包。每件物品只能使用一次。第…

在acwing.com中的题,本次为01背包问题【具体视频可通过www.acwing.com/video/214网站观看(ps:是跟着视频中的老师一起写的,并不是原创~~~)】

01背包问题题目:

        有N件物品和一个容量是V的背包。每件物品只能使用一次。第i间物品的体积是vi,价值是wi,求解将哪些物品装入背包,可使这些物品的总体积不超过背包容量,且总价值最大,输出最大价值。

输入格式:

        第一行两个整数,N,V,用空格隔开,分别标识物品数量和背包容积。接下来的N行,每行两个整数vi,wi,用空格隔开,分别标识第i间物品的体积和价值。

输出格式:

        输出一个整数,表示最大价值。

数据范围:

        0<N   V<=1000

        0<vi  wi<=1000

输入样式:

4 5

1 2

2 4

3 4

4 5

输出样式:

8

 

代码 

/*
二维动态规划:f[i][j]表示只看前面i个物品,总体积是j的情况下,总价值最大是多少
result = max(f[n][0~v]) f[i][j]:
1.不选第i个物品,f[i][j] = f[i-1][j]
2.选第i个物品,f[i][j] = f[i-1][j-v[i]]f[i][j] = max{1.2.}初始化:f[0][0] = 0 
时间复杂度:O(n*m) */
#include <iostream>
#include <cstring>
#include <algorithm>
using namespace std;const int N = 1010;  // 定义常量N,表示物品的最大数量
int n, m;            // n表示物品的数量,m表示背包的容量
int f[N][N];         // f[i][j]表示前i个物品在背包容量为j时的最大价值
int v[N], w[N];      // v[i]表示第i个物品的体积,w[i]表示第i个物品的价值int main() {cin >> n >> m;  // 输入物品的数量和背包的容量// 输入每个物品的体积和价值for (int i = 1; i <= n; i++)cin >> v[i] >> w[i];// 动态规划求解for (int i = 1; i <= n; i++) {  // 遍历每个物品for (int j = 0; j <= m; j++) {  // 遍历背包的容量f[i][j] = f[i - 1][j];  // 不选择第i个物品时的最大价值if (j >= v[i])  // 如果当前背包容量j大于等于第i个物品的体积f[i][j] = max(f[i - 1][j], f[i - 1][j - v[i]] + w[i]);  // 选择第i个物品或不选择,取最大值}}int res = 0;// 遍历所有可能的背包容量,找到最大价值for (int i = 0; i <= m; i++)res = max(res, f[n][i]);cout << res << endl;  // 输出最大价值return 0;
}

代码运行状态: Finished   

输入

10 100
5 8
32 47
17 43
7 9
6 4
29 40
2 6
14 31
6 17
1 3


输出

184

标准答案

184

解题思路

  1. 状态定义

    • f[i][j] 表示前 i 个物品在背包容量为 j 时的最大价值。

  2. 状态转移方程

    • 对于每个物品 i,我们有两种选择:

      • 不选择第 i 个物品:此时的最大价值为 f[i-1][j]

      • 选择第 i 个物品:此时的最大价值为 f[i-1][j-v[i]] + w[i](前提是 j >= v[i])。

    • 因此,状态转移方程为:

      f[i][j]=max⁡(f[i−1][j],f[i−1][j−v[i]]+w[i])f[i][j]=max(f[i−1][j],f[i−1][j−v[i]]+w[i])
  3. 初始化

    • f[0][j] = 0,表示没有物品时,背包的最大价值为0。

    • f[i][0] = 0,表示背包容量为0时,最大价值为0。

  4. 最终结果

    • 最终的结果是 f[n][m],即前 n 个物品在背包容量为 m 时的最大价值。

http://www.dtcms.com/wzjs/26407.html

相关文章:

  • 什么网站可以教做面包网页制作三大软件
  • 懒懒淘客怎么做自己的网站网站seo平台
  • 济南市城乡建设委员会网站怎样做好网络营销推广
  • 给企业做网站的公司重庆森林经典台词截图
  • 域名注册查询阿里云seo推广一个月见效
  • 福建参观禁毒展览馆的网站建设长沙做网站推广
  • 哪个网站生鲜配送做的好网络营销策划方案格式
  • 站点建设网站企业营销策划实训报告
  • wordpress空间免费下载武汉seo网站排名优化
  • 乐山网站开发培训心得体会模板
  • 如何说服企业做网站做企业网站建设公司哪家好
  • 平台设计网站公司电话号码网络培训平台
  • 2017淘宝客网站怎么做广告联盟广告点击一次多少钱
  • 优秀平面设计作品网站seo草根博客
  • 网站需要多少服务器制作网站需要什么软件
  • 中外商贸做网站好在哪一个新手怎么去运营淘宝店铺
  • 主办单位性质与网站名称不符seo网站关键词排名提升
  • 校园网站的作用网页百度网盘
  • 谷歌网站模板想要导航推广网页怎么做
  • 北京如何做网站百度知道网页版地址
  • 深圳苏州企业网站建设服务公司网站推广联盟
  • 移动做绩效的网站优化工具箱
  • 企业网站建设合同书盖章页小红书指数
  • 做网页的网站叫什么怎样免费推广自己的网站
  • 东莞seo网站优化推广公司哪家好
  • 网站开发工程师php岗位职责广州seo工资
  • 唐山网站建设方案咨询免费收录链接网
  • Wordpress球队网站网络运营与推广
  • 做流媒体视频播放网站求助云计算培训
  • 麦田一葱 wordpress网络优化大师手机版