代码随想录Day44 | 完全背包

完全背包

        

有 N 种物品和一个容量是 V 的背包,每种物品都有无限件可用。

第 i 种物品的体积是 vi,价值是 wi。

求解将哪些物品装入背包,可使这些物品的总体积不超过背包容量,且总价值最大。
输出最大价值。

输入格式

第一行两个整数,N,V,,用空格隔开,分别表示物品种数和背包容积。

接下来有 N 行,每行两个整数 vi,wi,,用空格隔开,分别表示第 i 种物品的体积和价值。

输出格式

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

代码:

#include<bits/stdc++.h>
using namespace std;
const int N = 1100;
int n,v;
int v1[N];
int w[N];int f[N];int main()
{cin >> n>>v;for (int i = 1; i <= n; i ++ ){cin>>v1[i];cin>>w[i];}for(int i=1;i<=n;i++){for(int j=v1[i];j<=v;j++){f[j] = max(f[j],f[j-v1[i]]+w[i]);}}cout<<f[v];
}

 518. 零钱兑换 II

class Solution {
public:int change(int amount, vector<int>& coins) {vector<int> f(amount+1,0);f[0]=1;for(int i=0;i<coins.size();i++){for(int j=coins[i];j<=amount;j++){f[j]+=f[j-coins[i]];}}return f[amount];}
};

377. 组合总和 Ⅳ
        

//回溯法,但超时
class Solution {
public:int count;int sum;int combinationSum4(vector<int>& nums, int target) {backtracking(nums,target);return count;}void backtracking(vector<int> &nums,int target){if(sum==target){count++;return;}if(sum>target){return;}for(int i=0;i<nums.size();i++){sum+=nums[i];backtracking(nums,target);sum-=nums[i];}}
};

        

class Solution {
public:int combinationSum4(vector<int>& nums, int target) {vector<int> f(target+1,0);f[0]=1;for(int j = 0;j<=target;j++){for(int i=0;i<nums.size();i++){if(j-nums[i]>=0 && f[j] < INT_MAX - f[j - nums[i]])f[j]+=f[j-nums[i]];}}return f[target];}
};

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

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

相关文章

注意力机制

概念没什么好说的&#xff0c;反正大家都会说&#xff0c;具体实战怎么写才是最为重要的 1.自注意力 假设有一组数据&#xff0c;都是一维的向量&#xff0c;这个向量可能是一个样本&#xff0c;可能是其他什么&#xff0c;都无所谓。 假设有一组一维向量x1,x2,x3,x4,x5; 第…

python读取图片

要在Python中读取图片&#xff0c;你可以使用第三方库Pillow&#xff08;Python Imaging Library&#xff0c;PIL&#xff09;或OpenCV。以下是使用这两个库的示例&#xff1a; 使用Pillow库读取图片&#xff1a; 首先&#xff0c;确保你已经安装了Pillow库。如果还没有安装&am…

AI 编码助手 Codewhisperer 安装步骤和使用初体验

文章作者&#xff1a;为了自己加油 最近亚⻢逊云科技推出了一款基于机器学习的AI编程助手 Amazon Code Whisperer&#xff0c;可以实时提供代码建议。在编写代码时&#xff0c;它会自动根据现有的代码和注释给出建议。Amazon Code Whisperer与 GitHub Copilot 类似&#xff0c;…

Vite的安装与使用

Vite也是前端的构建工具&#xff0c;相较于Webpack&#xff0c;Vite使用了不同的运行方式&#xff1a; 开发时并不对项目进行打包&#xff0c;而是直接采用ESM的方式来运行项目。在项目部署时再进行打包。 因此vite的执行速度相较于Webpack快了许多&#xff0c;操作起来也比W…

华为OD:求字符串中所有整数的最小和

输入字符串s&#xff0c;输出s中包含所有整数的最小和。 说明&#xff1a; 字符串s&#xff0c;只包含a-z A-Z-&#xff1b; 合法的整数包括&#xff1a; 正整数一个或者多个0-9组成&#xff0c;如 0 2 3 002 202负整数负号-开头&#xff0c;数字部分由一个或者多个0-9组成…

SQL中:提示不允许修改表结构,如何更改

SQL&#xff1a;不允许修改表结构 步骤图例注意 步骤 选择菜单栏中的“工具”-“选项”&#xff0c;在选项对话框左栏中找到“设计器”&#xff0c;在设计器右边取消勾选“阻止保存要求重新创建表的更改”即可。 图例 注意 设计表时&#xff0c;尽量一次性设计成功&#xff…

Android12之解封装NuMediaExtractor::setDataSource过程(四十七)

简介: CSDN博客专家,专注Android/Linux系统,分享多mic语音方案、音视频、编解码等技术,与大家一起成长! 优质专栏:Audio工程师进阶系列【原创干货持续更新中……】🚀 人生格言: 人生从来没有捷径,只有行动才是治疗恐惧和懒惰的唯一良药. 更多原创,欢迎关注:Android…

unity 桌面程序

using System; using System.Collections; using System.Collections.Generic; using System.Runtime.InteropServices; using UnityEngine; public class chuantou : MonoBehaviour { [DllImport(“user32.dll”)] public static extern int MessageBox(IntPtr hwnd,string t…

Gram矩阵

Gram矩阵如何计算 Gram 矩阵是由一组向量的内积构成的矩阵。如果你有一组向量 v 1 , v 2 , … , v n v_1, v_2, \ldots, v_n v1​,v2​,…,vn​&#xff0c;Gram 矩阵 G G G 的元素 G i j G_{ij} Gij​ 就是向量 v i v_i vi​ 和向量 v j v_j vj​ 的内积。数学上&#x…

Springboot ruoyi配置mysql备份定时任务

一、RuoYiConfig.class 新增获取备份路径方法 public static String getDataBaseBackUp() {return getProfile() "/dbBackUp";} 二、RyTask&#xff1a;新增备份数据库方法 mySqlDump方法&#xff1a;参数详见代码 package com.ruoyi.quartz.task;import cn.hut…

【动手学深度学习-Pytorch版】序列到序列的学习(包含NLP常用的Mask技巧)

序言 这一节是对于“编码器-解码器”模型的实际应用&#xff0c;编码器和解码器架构可以使用长度可变的序列作为输入&#xff0c;并将其转换为固定形状的隐状态&#xff08;编码器实现&#xff09;。本小节将使用“fra-eng”数据集&#xff08;这也是《动手学习深度学习-Pytor…

linux用户和权限命令学习记录

文章目录 版权声明root用户&#xff08;超级管理员&#xff09;su和exit命令sudo命令为普通用户配置sudo认证 用户、用户组管理用户组管理getent命令 查看权限控制认知权限信息 修改权限控制chmod修改文件、文件夹的权限权限的数字序号chown修改所属用户、用户组 版权声明 本博…

华为NFC设置教程(门禁卡/公交卡/校园卡等)

今天把华为NFC设置教程分享给大家 出门带门禁卡、校园卡、银行卡、身份证……东西又多&#xff0c;携带又麻烦&#xff0c;还容易搞丢&#xff0c;有没有一种方法可以把它们都装下&#xff1f;有&#xff01;只要一部手机&#xff0c;出门不带卡包&#xff0c;各种证件&#x…

机器学习第十课--提升树

一.Bagging与Boosting的区别 在上一章里我们学习了一个集成模型叫作随机森林&#xff0c;而且也了解到随机森林属于Bagging的成员。本节我们重点来学习一下另外一种集成模型叫作Boosting。首先回顾一下什么叫Bagging? 比如在随机森林里&#xff0c;针对于样本数据&#xff0c;…

如何通过axios拦截器,给除了登录请求以外,axios的所有异步请求添加JWT令牌!

在 Vue 项目中配置除了登录请求以外的所有请求的令牌&#xff0c;通常涉及到在请求头中添加令牌&#xff08;Token&#xff09;信息。这可以通过使用 Axios 或其他 HTTP 请求库来实现。以下是一般的步骤&#xff1a; 1. **安装 Axios**&#xff1a; 如果你还没有安装 Axios&a…

java 从字符串中 输出连续的整数

java 从字符串中 输出连续的整数 //编写程序&#xff0c;从键盘输入一个字符串&#xff0c;内有数字和非数字字符 // 如xy12ab93?5789$,连续的数字为一个整数。 // 例如&#xff1a;字符串中有3个整数&#xff1a;12 93 5786.统计整数个数&#xff0c;并依次输出 import java…

Java中的继承是什么?

在Java中&#xff0c;继承是一种面向对象编程的概念&#xff0c;它允许一个类&#xff08;称为子类或派生类&#xff09;继承另一个类&#xff08;称为父类或基类&#xff09;的属性和方法。通过继承&#xff0c;子类可以获得父类的属性和方法&#xff0c;并且可以添加自己的特…

使用命令行快速创建Vite项目

一、构建项目 在终端中使用如下命令行&#xff1a; npm create vite 二、定义项目名称 三、选择项目类型 Vanilla是我们常用的JavaScript&#xff0c;Vue和React是常用前端框架&#xff0c;可以根据自己的需要进行选择 通过上下键进行选择&#xff0c;按下回车进行确认 创建…

js 采集pcm,并封装为wav,包含重采样,提供下载

<!DOCTYPE html> <html lang"en"> <head> <meta charset"UTF-8"> <meta name"viewport" content"widthdevice-width, initial-scale1.0"> <title>录制音频并下载为WAV文件</title…

docker容器安装MongoDB数据库

一&#xff1a;MongoDB数据库 1.1 简介 MongoDB是一个开源、高性能、无模式的文档型数据库&#xff0c;当初的设计就是用于简化开发和方便扩展&#xff0c;是NoSQL数据库产品中的一种。是最 像关系型数据库&#xff08;MySQL&#xff09;的非关系型数据库。 它支持的数据结构…