【题解-Acwing】12. 背包问题求具体方案

发布时间:2026/10/4 9:36:28

【题解-Acwing】12. 背包问题求具体方案 题目12. 背包问题求具体方案题目描述有N NN件物品和一个容量是V VV的背包。每件物品只能使用一次。第 i 件物品的体积是v i v_ivi​价值是w i w_iwi​。求解将哪些物品装入背包可使这些物品的总体积不超过背包容量且总价值最大。输出 字典序最小的方案。这里的字典序是指所选物品的编号所构成的序列。物品的编号范围是1 … N 1…N1…N。输入格式第一行两个整数N NNV VV用空格隔开分别表示物品数量和背包容积。接下来有N NN行每行两个整数v i v_ivi​,w i w_iwi​用空格隔开分别表示第i ii件物品的体积和价值。输出格式输出一行包含若干个用空格隔开的整数表示最优解中所选物品的编号序列且该编号序列的字典序最小。物品编号范围是1 … N 1…N1…N。数据范围0 N , V ≤ 1000 0N,V≤10000N,V≤10000 v i , w i ≤ 1000 0v_i,w_i≤10000vi​,wi​≤1000时空限制1s / 64MB输入样例4 5 1 2 2 4 3 4 4 6输出样例1 4代码1用一个二维数组记录每次的选择#includebits/stdc.husingnamespacestd;constintN100010;intn,V,v[N],w[N],f[N][N];boolg[N][N];intmain(){cinnV;for(inti1;in;i)cinv[i]w[i];for(intin;i1;i--)for(intj0;jV;j){f[i][j]f[i1][j];if(v[i]j){inttmpf[i1][j-v[i]]w[i];if(tmpf[i][j]){//因为字典序最小,所以尽可能选择i小的,这里取到等于f[i][j]tmp;g[i][j]true;}}}for(inti1,jV;in;i)if(g[i][j]){couti ;j-v[i];}return0;}代码#includeiostreamusingnamespacestd;constintMaxN100010,MaxV100010;intN,V,v[MaxN],w[MaxN],f[MaxN][MaxV];intmain(){cinNV;for(inti1;iN;i){cinv[i]w[i];}for(intiN;i1;i--){for(intj0;jV;j){f[i][j]f[i1][j];if(v[i]j){f[i][j]max(f[i][j],f[i1][j-v[i]]w[i]);}}}// f[1][V]是最大价值intjV;for(inti1;iN;i){if(v[i]jf[i][j]f[i1][j-v[i]]w[i]){couti ;j-v[i];}}return0;}结果
延伸阅读

更多相关文章

2026/10/4 9:36:28

UWB自动跟随避障系统:从硬件选型到算法调试全解析

从很早起,我就对“会自己跟着人走”的设备特别感兴趣。不管是机场里那种能跟着旅客走的智能行李箱,还是仓库里自动跟着拣货员跑的物料小车,背后都绕不开两个核心问题:一是怎么精确知道目标在哪儿,二是怎么在跟着走的时…

2026/10/4 9:36:28

OpenShell:还原Windows 11经典开始菜单的完整配置指南

很多从 Windows 10 升到 Windows 11 的朋友,第一时间都会被那个居中的开始菜单搞得有点别扭。微软把“常用软件”和“最近文件”混在一起,一排排磁贴推荐位占了大半屏,想找一个不常用的系统工具得翻半天。这还不算完,右键菜单把“…

2026/10/4 9:36:28

Zynq老工程迁移指南:从SDK到Vitis的完整移植路线与踩坑实录

前阵子把公司里一批老的赛灵思 Zynq 工程从传统 SDK 工作流往 Vitis 上迁,过程比想象中坎坷。网上能搜到的资料要么是官方文档的精简转述,要么只讲“新建工程”这种最顺的情况,真到了移植老工程这一步,坑一个接一个。这篇就把我从…

2026/10/4 13:01:39

AI Agent 面试题 177:如何实现Agent中不同模型之间的无缝切换?

🔥 AI Agent 面试题 177:如何实现Agent中不同模型之间的无缝切换?摘要:本文深入解析了「如何实现Agent中不同模型之间的无缝切换?」这一 AI Agent 领域的核心面试题。文章从 多模型协同 的基本概念出发,系统…

2026/10/4 13:01:39

MRAM与PIC18F97J94工业存储方案:SPI驱动、掉电保护与日志设计

1. 项目缘起与方案选型:为什么是 MRAM 加 PIC18F97J941.1 一个真实的需求场景工业现场的数据记录仪、电力监测终端、医疗设备日志模块,这类设备有一个共同特点:需要频繁写入小批量关键数据,断电不能丢,现场环境还经常伴…

2026/10/4 13:01:39

STM32H750XB 驱动 MR25H40CDF MRAM 实战:SPI 接口配置与工业数据存储

1. 为什么 MRAM 在嵌入式存储里越来越受关注搞嵌入式存储的兄弟应该都有体会,选型的时候翻来覆去就那么几类:EEPROM 擦写寿命长但容量小、速度慢;NOR Flash 读取快但写入前必须擦除,还得整块整块地擦;NAND Flash 容量大…

2026/10/4 12:56:39

深度学习量化投资策略实战:从数据、模型到回测的完整指南

简介:这份资源是面向高校学生与量化投资初学者的一套完整项目源码,适用于毕业设计、期末大作业或人工智能与金融交叉方向的实践练习。项目以深度学习技术构建量化投资策略,涵盖数据预处理、模型搭建、训练调优与回测评估等核心环节&#xff0…

2026/10/4 0:01:02

Jev+Agent接管浏览器:browser-use实战与jev-ultrafast性能优化

1. 从“Jev”说起:为什么我要把Agent接进浏览器“Jev”这个词最近在圈子里出现的频率越来越高,很多人第一次听到会以为是某个新模型的名字,其实它更像是一种思路——把Jev模型的能力当作底座,通过Agent的方式去接管浏览器&#xf…

2026/10/4 0:01:02

多智能体集群实战:DeepAgents编排、MCP与A2A协议及Skills体系

1. 从"单兵作战"到"集群协同":多智能体编排到底在解决什么问题如果你最近在折腾 Agent 相关的东西,大概率会有一种感觉:单个 Agent 能做的事情,其实很快就摸到天花板了。你给它一个提示词,挂几个工…

2026/10/4 1:01:05

无源低通滤波器设计实战:从RC到LC,手把手教你避开那些坑

/* MD / 富文本中的 .toc(含博客园搬家等嵌套结构);.toc-box 在侧栏,不受影响 */#content_views .toc,/* 编辑器常在目录前后插入空 p(:empty 仍占 20px),一并去掉避免顶空隙 */#content_views.markdown_views > p:empty:has(+ .toc),#content_views.markdown_views …

2026/10/4 0:01:02

Jev+Agent接管浏览器:browser-use实战与jev-ultrafast性能优化

1. 从“Jev”说起:为什么我要把Agent接进浏览器“Jev”这个词最近在圈子里出现的频率越来越高,很多人第一次听到会以为是某个新模型的名字,其实它更像是一种思路——把Jev模型的能力当作底座,通过Agent的方式去接管浏览器&#xf…

2026/10/4 0:01:02

多智能体集群实战:DeepAgents编排、MCP与A2A协议及Skills体系

1. 从"单兵作战"到"集群协同":多智能体编排到底在解决什么问题如果你最近在折腾 Agent 相关的东西,大概率会有一种感觉:单个 Agent 能做的事情,其实很快就摸到天花板了。你给它一个提示词,挂几个工…

2026/10/4 1:01:05

无源低通滤波器设计实战:从RC到LC,手把手教你避开那些坑

/* MD / 富文本中的 .toc(含博客园搬家等嵌套结构);.toc-box 在侧栏,不受影响 */#content_views .toc,/* 编辑器常在目录前后插入空 p(:empty 仍占 20px),一并去掉避免顶空隙 */#content_views.markdown_views > p:empty:has(+ .toc),#content_views.markdown_views …

还想了解更多?直接咨询顾问

免费诊断 + 免费方案 + 透明报价。

全国咨询热线400-8866-253
免费获取方案
☎咨询二维码 ☎ ↑