【题解-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;}结果

相关新闻

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

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

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

2026/10/4 9:36:30 阅读更多 →
OpenShell:还原Windows 11经典开始菜单的完整配置指南

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

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

2026/10/4 9:36:30 阅读更多 →
Zynq老工程迁移指南:从SDK到Vitis的完整移植路线与踩坑实录

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

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

2026/10/4 9:36:30 阅读更多 →

最新新闻

场景化AI Agent落地实战:从RAG知识库到私有化部署的工程指南

场景化AI Agent落地实战:从RAG知识库到私有化部署的工程指南

1. 场景化AI Agent到底在解决什么问题1.1 从"通用聊天"到"业务智能体"的认知转变过去两年,大模型最普遍的用法就是打开一个对话框,输入问题,得到一段回答。这种模式在写文案、查资料、做翻译时确实好用,但一旦…

2026/10/4 10:20:04 阅读更多 →
MRAM+8位MCU实战:MR25H40CDF与PIC18F45K50的高可靠工业存储设计

MRAM+8位MCU实战:MR25H40CDF与PIC18F45K50的高可靠工业存储设计

1. 这个组合能做什么:MR25H40CDF 与 PIC18F45K50 的应用背景前一阵在调一块工业采集板,主控是 Microchip 的 PIC18F45K50,数据存储从原来的 SPI EEPROM 换成了 Everspin 的 MR25H40CDF。项目需求很典型:现场设备要记录参数修改、事…

2026/10/4 10:20:04 阅读更多 →
WebSocket聊天室实战:Java Web全双工通信与心跳机制详解

WebSocket聊天室实战:Java Web全双工通信与心跳机制详解

简介:WebSocket聊天室是一套基于JavaScript、jQuery与Java构建的实时通讯项目源码,面向具有Web基础并希望学习双向通信的开发者。项目实现了多人群聊、私人对话与在线客服,前端用jQuery简化DOM与事件处理,后端以Java维护WebSocket…

2026/10/4 10:20:04 阅读更多 →
OpenShell实战:Windows 11经典开始菜单安装与调校

OpenShell实战:Windows 11经典开始菜单安装与调校

前阵子帮同事升级Windows 11,他盯着新系统看了半分钟,蹦出一句:这个开始菜单怕不是设计来考验耐心的。我没多解释,直接给他装了个OpenShell,三十秒后他开始感叹,这才是人用的界面。如果你还没接触过OpenShe…

2026/10/4 10:20:04 阅读更多 →
浏览器端视觉AI实战:YOLO模型在WebGPU/WebGL的推理部署与性能优化

浏览器端视觉AI实战:YOLO模型在WebGPU/WebGL的推理部署与性能优化

说实话,第一次在一台普通笔记本的Chrome标签页里,看到YOLO模型实时框住摄像头画面里的人脸时,我第一反应是刷新了一下页面,确认自己没开什么本地服务。这个动作很典型——干了好几年端侧视觉AI的工程,潜意识里总觉得推…

2026/10/4 10:20:04 阅读更多 →
AI Agent Harness Engineering 后端架构选型:微服务 vs 单体架构的取舍与 TaoToken 统一接入实践

AI Agent Harness Engineering 后端架构选型:微服务 vs 单体架构的取舍与 TaoToken 统一接入实践

/* 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 10:19:04 阅读更多 →

日新闻

KT148A语音芯片外挂8002D功放的工程实践指南

KT148A语音芯片外挂8002D功放的工程实践指南

/* 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 1:00:58 阅读更多 →
LLC谐振变换器增益公式推导:从FHA等效到完整归一化表达式

LLC谐振变换器增益公式推导:从FHA等效到完整归一化表达式

/* 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 1:00:58 阅读更多 →
ARM架构深度解析:从RISC设计理念到交叉编译实战

ARM架构深度解析:从RISC设计理念到交叉编译实战

/* 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 1:00:58 阅读更多 →

周新闻

KT148A语音芯片外挂8002D功放的工程实践指南

KT148A语音芯片外挂8002D功放的工程实践指南

/* 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 1:00:58 阅读更多 →
LLC谐振变换器增益公式推导:从FHA等效到完整归一化表达式

LLC谐振变换器增益公式推导:从FHA等效到完整归一化表达式

/* 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 1:00:58 阅读更多 →
ARM架构深度解析:从RISC设计理念到交叉编译实战

ARM架构深度解析:从RISC设计理念到交叉编译实战

/* 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 1:00:58 阅读更多 →

月新闻

我发现了一个新思路:用 Remotion + Claude Code 像写代码一样自动化生成短视频

我发现了一个新思路:用 Remotion + Claude Code 像写代码一样自动化生成短视频

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

2026/10/2 10:36:31 阅读更多 →
Windows下 Codex 中 Chrome 和 Computer Use 插件不可用问题排查及解决参考方式:TaoToken 统一 Key 配置与验证

Windows下 Codex 中 Chrome 和 Computer Use 插件不可用问题排查及解决参考方式:TaoToken 统一 Key 配置与验证

/* 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 9:43:54 阅读更多 →
黑夜航拍船只数据集训练YOLOV5模型全流程解析

黑夜航拍船只数据集训练YOLOV5模型全流程解析

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

2026/10/3 9:42:36 阅读更多 →