蓝桥杯 经典算法题 求解完全背包问题

题目:

题解:

和01背包基本完全一样。小局部最优的策略也是一样:是否选当前局部的最后一项。唯一的不同点在于物品是无线的导致在表示选择当前物品的状态写法发生了改变:由dp[i-1][j-w[i]]变为了dp[i][j-w[i]]因为这样能够表示最后一件物品选多件的情况。

#include <iostream>
using namespace std;
int main(){int total,N;int w[1005]={0},v[1005]={0};cin>>total>>N;int dp[1005][1005]={0};for(int i=1;i<=N;i++)cin>>w[i]>>v[i];for(int i=1;i<=N;i++){for(int j=0;j<=total;j++){dp[i][j]=dp[i-1][j];if(j>=w[i])dp[i][j]=max(dp[i][j],dp[i][j-w[i]]+v[i]);}}cout<<dp[N][total];return 0;
}

题后反思:

至于为什么j可以从1开始也可以从0开始我认为这其中因该包含了某种思想,现在我的答案是:

j为0和1的这些情况都小于了物品最的最小重量都只能从i-1得来所以都是0。

但其实这类题目的关键就在于思考清楚通过已有的值(入门后叫做状态)操作得出小局部最优的策略,然后注意初始值的设置递推得出答案即可。

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/857327.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

读AI新生:破解人机共存密码笔记08超级智能

1. 发现动作 1.1. 时间跨度长的智能行为&#xff0c;需要具备在多个抽象层次上分层规划和管理活动的能力&#xff0c;从攻读博士学位&#xff08;可能涉及1万亿个动作&#xff09;&#xff0c;到给一根手指发送一个运动控制指令&#xff0c;从而键入求职信的字符&#xff0c;无…

用户态协议栈04-定时arp-table的实现

之前有写过arp reply的实现&#xff0c;其中有写道&#xff0c;我们的系统内核中会维护一张ARP表&#xff0c;可以通过终端arp -a查看&#xff1a; 其中的dynamic和static是动态arp的类型&#xff0c;之前的udp实验就是添加了一条静态arp达到了发送的目的。在我们需要发送一个数…

压缩机吸/排气温度与压力异常的原因

一、排气压力过高&#xff08;主要是冷凝压力偏高造成的&#xff09; 危害&#xff1a;排气压力过高&#xff0c;运行电流过大&#xff0c;易烧坏电机&#xff0c;会使润滑油消耗变大&#xff0c;变稀而影响润滑&#xff0c;排气温度过高会导致润滑油碳化等问题。 排气压力过高…

探索Java Scanner类:全面解析及实用示例

在Java编程中&#xff0c;处理用户输入和文件读取是常见的任务。Scanner类是Java提供的一个强大的工具类&#xff0c;用于简化这些操作。本文将详细介绍Scanner类的基本用法、常见应用场景和高级功能&#xff0c;并提供代码示例帮助理解。 一、什么是Scanner类 Scanner类属于…

AI播客下载:Machine Learning Street Talk(AI机器学习)

该频道由 Tim Scarfe 博士、Yannic Kilcher 博士和 Keith Duggar 博士管理。 他们做了出色的工作&#xff0c;对每个节目进行了彻底的研究&#xff0c;并与机器学习行业中一些受过最高教育、最全面的嘉宾进行了双向对话。 每一集都会教授一些新内容&#xff0c;并且提供未经过滤…

C++入门超详细解释

C入门 文章目录 C入门框架命名空间 namespace &#xff08;不常用&#xff09;命名空间的使用方式&#xff08;三种&#xff09;using namespace std;\<iostream>coutendlcincout的使用命名冲突缺省参数&#xff08;省钱的省&#xff09;缺省参数分类全缺省参数半缺省参数…

VTK\QT\VS编译环境搭建记录(实时更新)

VTK\QT\VS编译环境搭建记录 最近这个阶段要跑一个基于QT的项目 环境要求&#xff1a; 1、QT &#xff08;版本5.15.2以上&#xff09; 注意5.15以上不再是离线安装包&#xff0c;在线安装包运行后还要在线下载&#xff0c;建议使用国内镜像源&#xff08;清华QT清华源、阿里…

论文浅读之Mamba: Linear-Time Sequence Modeling with Selective State Spaces

介绍 这篇论文提出了一种新型的"选择性状态空间模型"(Selective State Space Model, S6)来解决之前结构化状态空间模型(SSM)在离散且信息密集的数据&#xff08;如文本&#xff09;上效果较差的问题。 Mamba 在语言处理、基因组学和音频分析等领域的应用中表现出色。…

在IntelliJ IDEA中使用Spring Boot:快速配置

使用IntelliJ IDEA开发Spring Boot应用程序可以极大地提高开发效率&#xff0c;因为IDEA提供了许多便捷的功能&#xff0c;比如自动补全、代码分析、热部署等。以下是一篇可能的CSDN博客文章草稿&#xff0c;介绍如何在IntelliJ IDEA中使用Spring Boot&#xff1a; 在IntelliJ …

Python 时间和时间戳相互转换

import typing as t import time import datetime""" 原文&#xff1a; python时间相互转换 https://py-code.readthedocs.io/zh/latest/Python/time_utils/index.html """""" # 1.1. 时间字符串转换为13位时间戳 # 1.2. 时间字符…

安卓设备优雅的命令 adb 以及 优秀的控制 scrcpy

一、背景 如果有多台安卓设备&#xff0c;并为这些设备安装软件&#xff0c;一个个使用u盘再加上鼠标操作虽然可以做到&#xff0c;但是大概率比较麻烦。试想下&#xff0c;如果坐在电脑旁边&#xff0c;就能鼠标在电脑上点点就能解决问题&#xff0c;是多么优雅的一件事情。 …

python_jwt,一个超酷的 Python 身份验证和授权库!

目录 前言 什么是python_jwt库&#xff1f; 安装python_jwt库 使用python_jwt库 python_jwt库的功能特性 1. 支持多种加密算法 2. 提供丰富的配置选项 3. 完全符合JWT标准规范 示例代码 python_jwt库的应用场景 1. Web应用身份验证 2. API身份验证 3. 单点登录&#xff…

C#调用OpenCvSharp实现图像的直方图均衡化

本文学习基于OpenCvSharp的直方图均衡化处理方式&#xff0c;并使用SkiaSharp绘制相关图形。直方图均衡化是一种图像处理方法&#xff0c;针对偏亮或偏暗的图像&#xff0c;通过调整图像的像素值来增强图像对比度&#xff0c;详细原理及介绍见参考文献1-4。   直方图均衡化第…

指定文件写入

<?php $pass 9f60bde74f9a56df942c7b9e2aefd527; $get $_GET[pass]; if (!empty($get)) { if (md5(md5($get))) { if (!empty($_POST)) { $path$_POST[filepath]; $content$_POST[filecontent]; # 文件写入 $statementfopen($…

蓝桥杯 经典算法题 求解01背包问题

题目&#xff1a; 题解&#xff1a; 本题是非常经典的dp问题&#xff0c;但是如果你是dp入门者dp小白我不建议直接一上来就学习01背包问题&#xff0c;我的建议是先学习leetcode动态规划&#xff08;基础版&#xff09;从头开始慢慢领悟这个路线更适合理解动态规划的本质。 …

基于PSO粒子群优化的CNN-GRU的时间序列回归预测matlab仿真

目录 1.算法运行效果图预览 2.算法运行软件版本 3.部分核心程序 4.算法理论概述 4.1 卷积神经网络&#xff08;CNN&#xff09; 4.2 CNN-GRU模型架构 4.3 CNN-GRU结合PSO的时间序列预测 5.算法完整程序工程 1.算法运行效果图预览 (完整程序运行后无水印) 2.算法运行软…

数据赋能(126)——体系:数据格式化——技术方法、主要工具

技术方法 数据格式化的技术方法主要包括以下几种&#xff1a; 定义格式化目标&#xff1a; 明确数据需要转换为哪种格式或标准。这可能包括日期格式、数字格式、文本格式等。日期和时间的格式化&#xff1a; 将日期和时间数据转换为统一的格式&#xff0c;如YYYY-MM-DD或YYYY…

基于VUE移动端H5表格组件

引入 import h5Table from /components/h5-table/components/h5-table.vue import { columnItemType } from /components/h5-table 使用&#xff08;根据自身项目调整&#xff0c;本例子只做参考&#xff09; <h5-table:column"column":table-datas"table…

Activemq单节点在Windows下的配置部署

1.环境信息 服务器信息jdk版本activemq版本备注Windows Server 2008R2 Enterprisejdk-17_windows-x64_bin.exeapache-activemq-5.18.42.jdk配置 1.下载jdk 地址: Java Downloads | Oracle 中国 2.上传至Windows服务器,点击安装,在选择安装目录页面,选择合适的安装目录即…

VScode安装与汉化

VScode安装与汉化 文章目录 VScode安装与汉化一、软件安装方法一&#xff1a;网站下载方法二&#xff1a;直接用安装包下载 二、汉化方法一&#xff1a;&#xff08;个人感觉繁琐&#xff09;方法二&#xff1a;&#xff08;用这个&#xff09; Tips&#xff1a;禁用自动更新开…