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

代码随想录Day42 | 01背包问题| 416. 分割等和子集

01背包问题(Acwing)

        

有 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][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=0;j<=v;j++){for(int k=0;k<=1;k++){   //每件物品最多取几次,k就设定为几次if(j>=k*v1[i])    //能装下k个该物品f[i][j]=max(f[i][j],f[i-1][j-k*v1[i]]+k*w[i]);}}}cout<<f[n][v];
}

   代码(一维):

#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=v;j>=0;j--){   //一维数组存储需要倒序,防止被“污染”for(int k=0;k<=1;k++){   //每件物品最多取几次,k就设定为几次if(j>=k*v1[i])    //能装下k个该物品f[j]=max(f[j],f[j-k*v1[i]]+k*w[i]);}}}cout<<f[v];
}

        我编写的是通用的模板,如果每件物品限定了使用次数的时候,修改k的限制即可。

416. 分割等和子集

class Solution {
public:bool canPartition(vector<int>& nums) {int sum=0;int n=nums.size();for(int i=0;i<n;i++){sum+=nums[i];}if(sum%2==1) return false;int target = sum/2;int f[20010]={0};for(int i=0;i<nums.size();i++){for(int j=target;j>=nums[i];j--){f[j] = max(f[j],f[j-nums[i]]+nums[i]);}}if(f[target]==target) return true;else return false;}
};

        

相关文章:

代码随想录Day42 | 01背包问题| 416. 分割等和子集

01背包问题&#xff08;Acwing&#xff09; 有 N 件物品和一个容量是 V的背包。每件物品只能使用一次。 第 i 件物品的体积是 vi&#xff0c;价值是 wi。 求解将哪些物品装入背包&#xff0c;可使这些物品的总体积不超过背包容量&#xff0c;且总价值最大。 输出最大价值。 输入…...

UML六大关系总结

UML六大关系有&#xff1a;继承、关系、聚合、组合、实现、依赖。分为通过图和代码总结这些关系。 1、继承 继承&#xff08;Inheritance&#xff09;&#xff1a;表示类之间的继承关系&#xff0c;子类继承父类的属性和方法&#xff0c;并可以添加自己的扩展。 继承&#x…...

ElementUI基本介绍及登录注册案例演示

目录 前言 一.简介 二.优缺点 三.Element完成登录注册 1. 环境配置及前端演示 1.1 安装Element-UI模块 1.2 安装axios和qs(发送get请求和post请求) 1.3 导入依赖 2 页面布局 2.1组件与界面 3.方法实现功能数据交互 3.1 通过方法进行页面跳转 3.2 axios发送get请求 …...

Python爬虫-某网酒店评论数据

前言 本文是该专栏的第6篇,后面会持续分享python爬虫案例干货,记得关注。 本文以某网的酒店数据为例,采集对应酒店的评论数据。具体思路和方法跟着笔者直接往下看正文详细内容。(附带完整代码) 注意:本文的案例“数据集”,选用的是本专栏上一篇“Python爬虫-某网酒店数…...

C# Onnx Yolov8 Detect 水果识别

效果 项目 代码 using Microsoft.ML.OnnxRuntime; using Microsoft.ML.OnnxRuntime.Tensors; using OpenCvSharp; using System; using System.Collections.Generic; using System.ComponentModel; using System.Data; using System.Drawing; using System.Linq; using System…...

测试网页调用本地可执行程序(续1:解析参数中的中文编码)

学习测试网页调用本地可执行程序还遗留一个问题&#xff0c;即网页中调用带中文参数的命令时&#xff0c;本地可执行程序接收到的参数字符串里的中文都转换成了编码模式&#xff0c;看起来如下所示&#xff1a; <a href TestPageCall:-a你好>启动测试程序</a><…...

C++入门知识

Hello&#xff0c;今天我们分享一些关于C入门的知识&#xff0c;看完至少让你为后面的类和对象有一定的基础&#xff0c;所以在讲类和对象的时候&#xff0c;我们需要来了解一些关于C入门的知识。 什么是C C语言是结构化和模块化的语言&#xff0c;适合处理较小规模的程序。对…...

spring和springmvc常用注解

1.Spring常用注解&#xff1a; 1&#xff09;Repository将DAO类声明为Bean 2&#xff09;Service用于修饰service层的组件 3&#xff09;Controller通常作用在控制层&#xff0c;将在Spring MVC中使用 4&#xff09;Component是一个泛化的概念&#xff0c;仅仅表示spring中的一…...

【Java】Java生成PDF工具类

Java生成PDF工具类 一、介绍 Java生成PDF工具类是一个非常实用的工具类&#xff0c;可以帮助我们以程序化的方式生成PDF文件。通过该工具类&#xff0c;我们可以向PDF文件中添加文字、图片、表格等多种内容&#xff0c;并且可以进行格式化和样式设置。Java生成PDF工具类常用于…...

STL map,插入和查找的一些注意事项

01、前言&#xff08;废话&#xff09; C 的 std::map 容器中插入键值对主要有myMap(std::make_pair(key value)) &#xff0c;它们的区别你了解吗&#xff1f; auto it myMap,find(key) 和 auto value myMap[key] 都可以用于在 C 的 std::map 容器中查找键对应的值&#xff…...

基于springboot+vue的客户关系管理系统(前后端分离)

博主主页&#xff1a;猫头鹰源码 博主简介&#xff1a;Java领域优质创作者、CSDN博客专家、公司架构师、全网粉丝5万、专注Java技术领域和毕业设计项目实战 主要内容&#xff1a;毕业设计(Javaweb项目|小程序等)、简历模板、学习资料、面试题库、技术咨询 文末联系获取 项目介绍…...

【Java 基础篇】Java Stream 流详解

Java Stream&#xff08;流&#xff09;是Java 8引入的一个强大的新特性&#xff0c;用于处理集合数据。它提供了一种更简洁、更灵活的方式来操作数据&#xff0c;可以大大提高代码的可读性和可维护性。本文将详细介绍Java Stream流的概念、用法和一些常见操作。 什么是Stream…...

题解:ABC321A - 321-like Checker

题解&#xff1a;ABC321A - 321-like Checker 题目 链接&#xff1a;Atcoder。 链接&#xff1a;洛谷。 难度 算法难度&#xff1a;C。 思维难度&#xff1a;C。 调码难度&#xff1a;C。 综合评价&#xff1a;见洛谷链接。 算法 模拟。 思路 输入n后从后往前依次抽…...

Zig实现Hello World

1. 什么是zig 先列出一段官方的介绍: Zig is a general-purpose programming language and toolchain for maintaining robust, optimal, and reusable software. 大概意思就是说&#xff1a; Zig是一种通用编程语言和工具链&#xff0c;用于维护健壮、最佳和可重用的软件。 官…...

Vue3+element-plus切换标签页时数据保留问题

记录一次切换标签页缓存失效问题&#xff0c;注册路由时name不一致可能会导致缓存失效...

前端教程-TypeScript

官网 TypeScript官网 TypeScript中文官网 视频教程 尚硅谷TypeScript教程&#xff08;李立超老师TS新课&#xff09;...

代码随想录算法训练营 动态规划part06

一、完全背包 卡哥的总结&#xff0c;还挺全代码随想录 (programmercarl.com) 二、零钱兑换 II 518. 零钱兑换 II - 力扣&#xff08;LeetCode&#xff09; 被选物品之间不需要满足特定关系&#xff0c;只需要选择物品&#xff0c;以达到「全局最优」或者「特定状态」即可。 …...

能跑通的mmdet3d版本

能跑通的mmdet3d版本 1.0版本 2.0版本 注意&#xff1a;mmdet和mmdet3d简单地运行 pip install -v -e . 将会安装最低运行要求的版本。不要pip install -r requirements.txt安装依赖项&#xff0c;否则依赖库版本不对。 运行mmdet3d时&#xff0c;注释掉以上代码。...

SD-MTSP:萤火虫算法(FA)求解单仓库多旅行商问题MATLAB(可更改数据集,旅行商的数量和起点)

一、萤火虫算法&#xff08;FA&#xff09;简介 萤火虫算法(Firefly Algorithm&#xff0c;FA)是Yang等人于2009年提出的一种仿生优化算法。 参考文献&#xff1a;田梦楚, 薄煜明, 陈志敏, et al. 萤火虫算法智能优化粒子滤波[J]. 自动化学报, 2016, 42(001):89-97. 二、单仓…...

bootstrapv4轮播图去除两侧阴影及线框的方法

文章目录 前言一、前提条件&#xff1a;二、bootstrap文档组件展示与实际应用1.官方文档展示如下&#xff1a;没有阴影2.实际应用情况如下&#xff1a; 三、解决方案 前言 这篇文章主要介绍了bootstrapv4轮播图去除两侧阴影及线框的方法,本文通过示例代码给大家介绍的非常详细…...

QUAD7SHIFT:轻量级七段数码管驱动库设计与嵌入式优化

1. 项目概述QUAD7SHIFT 是一款专为驱动 4 位共阴/共阳七段数码管模块设计的轻量级嵌入式显示库&#xff0c;核心目标是通过级联的 74HC595 移位寄存器实现高效、低资源占用的动态扫描显示。该库并非简单封装 SPI 接口&#xff0c;而是围绕“硬件抽象—时序控制—数据映射—功耗…...

生成式推荐GR4AD

prompt 快手《Generative Recommendation for Large-Scale Advertising》值得阅读&#xff0c;生成式推荐这事 这两年聊的人很多&#xff0c;真能在大规模系统里全量落地的&#xff0c;基本没有。 这次快手团队把生成式推荐真正搬进大规模广告系统&#xff0c;是国内生成…...

1949-2023年各地级市、县新注册农民专业合作社数量数据

数据介绍 农民专业合作社可以推动农业规模化与产业化经营资源整合&#xff0c;合作社通过集中土地、劳动力、资金等生产要素&#xff0c;实现规模化种植或养殖&#xff0c;降低单位生产成本。通过统一采购农资、技术培训、品牌销售&#xff0c;提升市场竞争力。 产业链延伸&a…...

Spring Data 2026 最佳实践:简化数据访问

Spring Data 2026 最佳实践&#xff1a;简化数据访问别叫我大神&#xff0c;叫我 Alex 就好。一、引言 大家好&#xff0c;我是 Alex。Spring Data 作为 Spring 生态系统中的重要组成部分&#xff0c;一直以其简化数据访问的能力而受到开发者的喜爱。随着 Spring Data 2026 的发…...

别再让预制体‘撞衫’了!用MaterialPropertyBlock给每个Unity实例穿上‘定制皮肤’

别再让预制体‘撞衫’了&#xff01;用MaterialPropertyBlock给每个Unity实例穿上‘定制皮肤’ 在游戏开发中&#xff0c;预制体&#xff08;Prefab&#xff09;是提高效率的利器&#xff0c;但当我们需要为大量相同预制体创建不同外观时&#xff0c;传统方法往往面临性能与灵活…...

《算法题讲解指南:动态规划算法--子序列问题(附总结)》--32.最长的斐波那契子序列的长度,33.最长等差数列,34.等差数列划分II-子序列

&#x1f525;小叶-duck&#xff1a;个人主页 ❄️个人专栏&#xff1a;《Data-Structure-Learning》《C入门到进阶&自我学习过程记录》 《算法题讲解指南》--优选算法 《算法题讲解指南》--递归、搜索与回溯算法 《算法题讲解指南》--动态规划算法 ✨未择之路&#xff0…...

如何优化多表查询性能_利用SQL视图与索引视图提升速度

SQL Server索引视图未生效主因是查询未精确匹配视图定义&#xff0c;须显式引用视图名或启用ANSI_WARNINGS/ARITHABORT&#xff1b;MySQL视图无加速作用&#xff1b;PostgreSQL物化视图刷新卡顿需用CONCURRENTLY并建唯一索引。SQL Server 里索引视图为什么没生效&#xff1f;多…...

MiniCPM-V-2_6效果展示:多图推理、视频理解、强大OCR,免费本地运行真香

MiniCPM-V-2_6效果展示&#xff1a;多图推理、视频理解、强大OCR&#xff0c;免费本地运行真香 1. 惊艳开场&#xff1a;8B小身材&#xff0c;多模态大能量 当我第一次在自己的笔记本上运行MiniCPM-V-2_6时&#xff0c;完全被这个仅有8B参数的"小模型"震撼到了。它…...

从攻击到防御:用Python Scapy库编写ARP欺骗脚本,并教你如何用arpwatch守护网络

从攻击到防御&#xff1a;用Python Scapy库编写ARP欺骗脚本&#xff0c;并教你如何用arpwatch守护网络 在数字化时代&#xff0c;网络安全已成为每个技术从业者必须面对的现实挑战。ARP欺骗作为一种经典的中间人攻击手段&#xff0c;不仅能够窃取敏感信息&#xff0c;还能导致整…...

Rocky Linux 9.3 上部署 MinIO 集群的完整指南(含多节点配置)

1. 环境准备与基础配置 在Rocky Linux 9.3上部署MinIO集群前&#xff0c;需要确保系统环境满足基本要求。我建议使用至少4台配置相同的服务器&#xff08;3个存储节点1个仲裁节点&#xff09;&#xff0c;每台配备&#xff1a; 4核CPU及以上8GB内存起步100GB系统盘多块数据盘&a…...