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

【模板】多重背包【牛客tracker 每日一题】

【模板】多重背包时间限制5秒 空间限制256M网页链接牛客tracker牛客tracker 每日一题完成每日打卡即可获得牛币。获得相应数量的牛币能在【牛币兑换中心】换取相应奖品助力每日有题做丰盈牛币日益多题目描述对于给定的n nn种物品和一个容量为m mm的背包每种物品数量为s i s_isi​且有体积w i w_iwi​和价值v i v_ivi​两种属性。你可以选取一些物品放入背包带走求解在装入物品总体积不超过m mm的前提下能带走的最大物品价值。提示本题为多重背包模板题您可以使用二进制优化的多重背包模板通过本题其实现时间复杂度为O ( T × m ∑ i 1 n log ⁡ ⁡ s i ) O(T×m∑_{i1}^n \log⁡s_i)O(T×m∑i1n​log⁡si​)该复杂度稍大所以本题的时间限制较为宽松。您也可以使用单调队列优化的多重背包模板通过本题其实现时间复杂度为O ( T × n m ) O(T×nm)O(T×nm)。特殊测试点信息测试点15 1515体积均为0 00测试点16 1616体积和价值均为0 00。输入描述每个测试文件均包含多组测试数据。第一行输入一个整数T ( 1 ≦ T ≦ 10 ) T(1≦T≦10)T(1≦T≦10)代表数据组数每组测试数据描述如下在一行上输入两个整数n , m ( 1 ≦ n , m ≦ 3000 ) n,m(1≦n,m≦3000)n,m(1≦n,m≦3000)代表物品数量、背包容量。此后n nn行第i ii行输入三个整数w i , v i , s i ( 0 ≦ w i , v i ≦ m ; 1 ≦ s i ≦ 10 6 ) w_i,v_i,s_i(0≦w_i,v_i≦m; 1≦s_i≦10^6)wi​,vi​,si​(0≦wi​,vi​≦m;1≦si​≦106)代表第i ii件物品的体积、价值、数量。输出描述对于每一组测试数据在一行上输出一个整数代表能带走的最大物品价值。示例1输入1 2 5 1 4 5 1 1 4输出20解题思路本题核心是通过二进制优化将多重背包转化为01 0101背包求解降低时间复杂度多重背包中每种物品有s i s_isi​个将其拆分为2 0 、 2 1 … 2 k 2^0、2^1…2^k20、21…2k及剩余数的若干组每组数量为二进制数每组视为独立的01 0101背包物品初始化dp数组dp[j]表示容量j jj的最大价值对拆分后的每组物品按01 0101背包逆序遍历容量更新dp[j] max(dp[j], dp[j-组体积]组价值)最终dp[m]即为最大价值。二进制拆分将s i s_isi​个物品拆分为log ⁡ s i \log s_ilogsi​组时间复杂度O ( T × m ∑ log ⁡ s i ) O(T×m∑\log s_i)O(T×m∑logsi​)适配n 、 m ≤ 3000 、 s i ≤ 1 e 6 n、m≤3000、s_i≤1e6n、m≤3000、si​≤1e6的规模高效求解最大价值。总结核心逻辑二进制拆分多重背包物品为若干组转化为01 0101背包问题求解。关键操作按2 22的幂次拆分物品数量逆序遍历背包容量更新d p dpdp数组。效率保障二进制拆分将数量s i s_isi​的处理复杂度从O ( s i ) O(s_i)O(si​)降至O ( log ⁡ s i ) O(\log s_i)O(logsi​)适配大数量物品的场景。代码内容#includebits/stdc.husingnamespacestd;typedeflonglongll;typedefunsignedlonglongull;typedefvectorvectorllvt;typedefpairll,llpll;constll N5e510;constll mod1e47;constll INF1e18;voidsolve(){ll n,m;cinnm;vectorlldp(m1,0);for(ll i0;in;i){ll w,v,s;cinwvs;for(ll k1;ks;k1){for(ll jm;jw*k;j--)dp[j]max(dp[j-w*k]v*k,dp[j]);s-k;}for(ll jm;jw*s;j--)dp[j]max(dp[j-w*s]v*s,dp[j]);}coutdp[m]endl;}intmain(){ll t;cint;while(t--)solve();return0;}

相关文章:

【模板】多重背包【牛客tracker 每日一题】

【模板】多重背包 时间限制:5秒 空间限制:256M 网页链接 牛客tracker 牛客tracker & 每日一题,完成每日打卡,即可获得牛币。获得相应数量的牛币,能在【牛币兑换中心】,换取相应奖品!助力…...

windows常用脚本

安装uv powershell -ExecutionPolicy ByPass -c "irm https://astral.sh/uv/install.sh | iex"...

AI Agent时代,记忆才是真正的“进化引擎”【科普指南】

最近看到论文来自牛津、南洋理工、北大、复旦、Georgia Tech等顶级机构,40多位研究员联手写了一篇叫《Memory in the Age of AI Agents》的调研报告(arXiv 2512.13564)。核心结论很狠:99%的Agent架构其实从根上就错了,…...

改稿速度拉满 10个降AIGC软件全场景通用测评:哪个能帮你高效降AI率?

在学术写作和论文撰写过程中,AI生成内容的痕迹往往成为查重率居高不下的关键因素。随着AIGC技术的普及,越来越多的作者开始关注如何有效降低AI痕迹、提升论文的原创性与可读性。AI降重工具应运而生,它们不仅能够精准识别并修改AI生成内容&…...

新手也能上手!冠绝行业的AI论文写作软件 —— 千笔·专业论文写作工具

你是否曾在论文写作中感到无从下手?选题纠结、框架混乱、文献检索困难、查重率高得让人焦虑……这些困扰,是否让你夜不能寐?面对繁杂的学术任务,很多同学都感到力不从心。而如今,一款专为学生打造的AI论文写作工具——…...

对比一圈后! 降AIGC软件 千笔·专业降AI率智能体 VS 云笔AI 专科生首选

在AI技术迅速发展的今天,越来越多的学生开始借助AI工具辅助论文写作,以提升效率和内容质量。然而,随着各大查重系统对AI生成内容的识别能力不断提升,"AI率超标"问题逐渐成为学术写作中的一大难题。无论是知网、维普还是…...

(leetcode)力扣100 96.只出现一次的数字(位运算)

题解给你一个 非空 整数数组 nums &#xff0c;除了某个元素只出现一次以外&#xff0c;其余每个元素均出现两次。找出那个只出现了一次的元素。 你必须设计并实现线性时间复杂度的算法来解决此问题&#xff0c;且该算法只使用常量额外空间。 数据范围1 < nums.length < …...

永磁同步电机与无刷直流电机 FOC 过调制算法的探索与实践

永磁同步电机 无刷直流电机FOC过调制算法&#xff0c;共5种&#xff0c;并且含有6种DPWM控制&#xff0c;包含经典FOC电流环&#xff0c;经典SVPWM,简易SVPWM,弱磁&#xff0c;前馈解耦&#xff0c;5种过调制算法各有特点&#xff0c;全部提取工程实践&#xff0c;全部在项目中…...

计算机毕业设计源码:Python旅游大数据智能可视化看板 Flask框架 可视化 旅游 出行 出游 大数据 大模型 数据分析 agent(建议收藏)✅

1、项目介绍 技术栈 Python语言、Flask框架、Echarts可视化工具、HTML前端技术&#xff0c;用于旅游数据的可视化呈现与分析。 功能模块旅游大数据大屏旅游板块分析——游客旅游板块分析——商家旅游舆情分析 项目介绍 旅游大数据分析可视化系统基于Python Flask框架构…...

什么是Spring Boot 应用开发?

一、引言 在当今的软件开发领域&#xff0c;Java 依然占据着重要的地位&#xff0c;而 Spring Boot 作为 Java 生态系统中极具影响力的框架&#xff0c;极大地简化了企业级应用的开发流程&#xff0c;提升了开发效率和应用的可维护性。它基于 Spring 框架构建&#xff0c;通过约…...

核心框架源码常见问题(下)

1、BeanFactory跟FactoryBean的区别&#xff08;常识&#xff09;在Spring框架中&#xff0c;BeanFactory和FactoryBean就不是一个东西&#xff0c;名字看着像一点。首先这哥俩都是接口。其中BeanFactory其实就是咱们一直在说的Spring容器&#xff0c;Spring工厂&#xff0c;IO…...

Java 池化技术

Java中的池化技术&#xff0c;这是一种通过重用对象来提升性能的重要技术。1. 什么是池化技术池化技术的核心思想是&#xff1a;将资源预先创建好&#xff0c;放在一个"池子"里&#xff0c;需要时从池中获取&#xff0c;用完后归还&#xff0c;而不是每次都创建新的。…...

视频批量加封面软件|智能截取指定时间帧生成封面,离线可用一键适配多平台

温馨提示&#xff1a;文末有联系方式【核心功能&#xff1a;智能批量封面生成】 本工具专为内容创作者与运营人员设计&#xff0c;可对多个视频文件进行统一化封面处理。 无需逐个打开编辑&#xff0c;只需设定目标时间点&#xff08;如3秒、5秒或片头黄金帧&#xff09;&#…...

多平台智能邮件群发工具|Python底层开发|支持变量模板、附件批量发送与失败邮箱自动记录

温馨提示&#xff1a;文末有联系方式产品核心功能概览 本工具是一款专为高效邮件分发设计的智能解决方案&#xff0c;突破单一邮箱限制&#xff0c;全面兼容主流邮件平台&#xff08;包括但不限于QQ邮箱、163邮箱、Gmail、Outlook、Yahoo等&#xff09;作为发信源&#xff0c;可…...

Memtest86中文版内存诊断工具|U盘启动DDR2-DDR5全兼容|军工级精准检测蓝屏死机根源

温馨提示&#xff1a;文末有联系方式一、什么是Memtest86中文版内存诊断工具 Memtest86中文版是一款专为硬件工程师、IT运维人员及DIY爱好者打造的高可靠性内存检测解决方案。 它基于国际公认权威内核&#xff0c;完整汉化界面&#xff0c;支持U盘免安装一键启动&#xff0c;无…...

Golang实现企业级AI智能体安全合规自动化检测系统

摘要:随着欧盟AI法案(EU AI Act)2026年3月实施细则正式生效,以及中国《网络安全法》修订版新增AI安全专项条款,企业部署AI智能体面临前所未有的合规压力。本文基于Golang构建企业级AI智能体安全合规自动化检测系统,实现法规条款智能解析、智能体行为实时监控、多维度风险…...

面试官与水货程序员谢飞机的面试奇遇记

面试官与水货程序员谢飞机的面试奇遇记 第一轮&#xff1a;基础入门 面试官&#xff1a;"谢飞机同学你好&#xff0c;请先简单介绍一下自己吧。" 谢飞机&#xff1a;"呃...面试官你好&#xff0c;我叫谢飞机&#xff0c;从事Java开发三年多了&#xff0c;做过一…...

互联网大厂Java面试现场:严肃面试官与搞笑程序员谢飞机的爆笑对决

互联网大厂Java面试现场&#xff1a;面试官与水货程序员谢飞机的爆笑对决人物介绍 面试官&#xff1a;某互联网大厂技术总监&#xff0c;提问风格严谨&#xff0c;喜欢循序渐进引导 谢飞机&#xff1a;三年CRUD经验的水货程序员&#xff0c;简历吹上天&#xff0c;面试全靠编第…...

【语义分割】12个主流算法架构介绍、数据集推荐、总结、挑战和未来发展

背景 语义分割是将图像中的每个像素按其语义类别进行分类&#xff0c;从而实现像素级别的语义理解。其在自动驾驶、医学图像、结构损伤检测等领域有着广泛的应用。 1.主流算法架构 1.1 U-Net 论文地址&#xff1a;https://arxiv.org/abs/1505.04597 U-Net2015年由Ronneberge…...

Python-flask基于安卓的的酒店管理系统 小程序

目录技术栈选择功能模块设计后端实现要点小程序前端开发接口安全与性能测试与部署时间规划注意事项项目技术支持可定制开发之功能创新亮点源码获取详细视频演示 &#xff1a;文章底部获取博主联系方式&#xff01;同行可合作技术栈选择 后端采用Python Flask框架&#xff0c;轻…...

Python-flask向家租房 房屋租赁微信小程序t9353

目录需求分析技术栈选型数据库设计API接口开发微信小程序集成测试与部署安全与性能优化迭代计划项目技术支持可定制开发之功能创新亮点源码获取详细视频演示 &#xff1a;文章底部获取博主联系方式&#xff01;同行可合作需求分析 明确房屋租赁微信小程序的核心功能需求&#…...

最新真空泵配备专利吹扫注入系统

普发真空Fab解决方案&#xff08;Pfeiffer VacuumFab Solutions&#xff0c;隶属于 Busch 集团&#xff09;&#xff0c;已推出 UltiDry 多级罗茨真空泵。这款新泵专为要求严苛的半导体应用而设计&#xff0c;旨在抵御腐蚀性气体、具有侵蚀性的副产物以及大量的粉末负载。其无油…...

【开题答辩全过程】以 基于Springboot的养老服务管理系统的设计与实现为例,包含答辩的问题和答案

个人简介一名14年经验的资深毕设内行人&#xff0c;语言擅长Java、php、微信小程序、Python、Golang、安卓Android等开发项目包括大数据、深度学习、网站、小程序、安卓、算法。平常会做一些项目定制化开发、代码讲解、答辩教学、文档编写、也懂一些降重方面的技巧。感谢大家的…...

【开题答辩全过程】以 基于微信平台的电子阅读器为例,包含答辩的问题和答案

个人简介一名14年经验的资深毕设内行人&#xff0c;语言擅长Java、php、微信小程序、Python、Golang、安卓Android等开发项目包括大数据、深度学习、网站、小程序、安卓、算法。平常会做一些项目定制化开发、代码讲解、答辩教学、文档编写、也懂一些降重方面的技巧。感谢大家的…...

好物分享 | gstack:将 Claude Code 从通用助手升级为专属专家团队

在日常软件开发过程中&#xff0c;我们常常陷入一种与 AI 编程助手博弈的困境。当你向通用型 AI 代理提出一个需求时&#xff0c;它往往会字面意义上地执行你的指令&#xff0c;却忽略了背后的产品目标。你让它修复一个 bug&#xff0c;它可能只修复了表面现象而忽略了架构隐患…...

【开题答辩全过程】以 人才培养方案修订管理系统为例,包含答辩的问题和答案

个人简介一名14年经验的资深毕设内行人&#xff0c;语言擅长Java、php、微信小程序、Python、Golang、安卓Android等开发项目包括大数据、深度学习、网站、小程序、安卓、算法。平常会做一些项目定制化开发、代码讲解、答辩教学、文档编写、也懂一些降重方面的技巧。感谢大家的…...

【开题答辩全过程】以 商城后台管理系统1为例,包含答辩的问题和答案

个人简介 一名14年经验的资深毕设内行人&#xff0c;语言擅长Java、php、微信小程序、Python、Golang、安卓Android等 开发项目包括大数据、深度学习、网站、小程序、安卓、算法。平常会做一些项目定制化开发、代码讲解、答辩教学、文档编写、也懂一些降重方面的技巧。 感谢大家…...

【问题解决】org.springframework.web.util.NestedServletException Handler dispatch failed;

详细异常信息&#xff1a;org.springframework.web.util.NestedServletException: Handler dispatch failed; nested exception is java.lang.NoClassDefFoundError: javax/xml/bind/DatatypeConverter at org.springframework.web.servlet.DispatcherServlet.doDispatch(Dispa…...

全面打开SEO之门,从零基础到有效提升网站流量的方法

在探索“SEO的从零起步”过程中&#xff0c;了解内容的核心要素十分重要。首先&#xff0c;优质内容是吸引用户和搜索引擎的关键。内容需要具备原创性和实用性&#xff0c;以满足用户需求并提高网站的可信度。此外&#xff0c;关键词的合理使用也是不容忽视的一环&#xff0c;选…...

MySQL 无法支撑亿级订单的多维聚合查询的庖丁解牛

MySQL 无法支撑亿级订单的多维聚合查询&#xff0c;是OLTP&#xff08;在线事务处理&#xff09;与 OLAP&#xff08;在线分析处理&#xff09;本质错位的典型表现。 试图用 MySQL 做海量数据分析&#xff0c;就像用法拉利去拉煤——不是车不好&#xff0c;而是用途错了。MySQL…...