Day35| 动规和背包变形

今天三道题目,可以说分别是背包问题的不同变形

三个模型

  • 已知每个物品的重量和价值。背包空间大小为Space,求放入物品的最大的价值。变形一 在和的上限不超过 half 的情况下的最大和。
  • 已知每个物品的重量和价值。背包空间大小为Space,求装满背包的方法数量
  • 已知每个物品的重量和价值。背包空间大小为Space,求背包最大可以放的数量。

最后一块石头的重量

这题实际上求得是 在和的上限不超过 half 的情况下的最大和。

基础背包模型求得是 空间和上限不超过 half 的情况下的最大价值和。

观察可以发现,如果将重量和价值相等的话,我们可以得到一个化简的式子也就是题目所有的内容。转换成代码就是这样

目标和

这题实际上就得是一个序列里面和为 sum 的个数。显然遍历回溯是可以解的。同时这有个最优子结构。

dp [i] [space] = dp[i-1] [space] + dp[i-1][space-space[i]]

对每个物品进行遍历即可。 对这个问题进行抽象我们可以得到 这样的背包问题。

  • 已知每个物品的重量和价值。背包空间大小为Space,求装满背包的方法

474.一和零

这题实际上问的是

  • 已知每个物品的重量和价值。背包空间大小为Space,求背包最大可以放的数量。
  • dp [i] [space] = max( dp[i-1] [space] , dp[i-1][space-space[i]] +1 )
全部评论

相关推荐

09-04 15:27
华为_BA
华为集团 IT 2025届应届生招聘常驻工作地:深圳、武汉部门介绍华为集团 IT (质量与流程 IT ),致力于打造华为"最强大脑",负责引领华为自身的数字化、智能化和现代化,使能华为领先世界,未来的 IT 是"平台+服务"模式,通过"1+6+1"构建面向未来的竞争力,升级新型数字化基础设施,打造智能企业数字化操作系统,统一数据平台,通过轻量化、可组合的 IT SaaS 构建应用现代化能力。集团 IT 负责构建全联接智能华为,并助力华为构建万物互联的智能世界。招聘对象2025/1/1-2025/12/31毕业的国内高校本科生与硕士研究生2024/1/1-2025/12/31毕业的国内高校博士生与海外高校本硕博学生岗位介绍数字化 IT 应用工程师(本硕)岗位职责负责实现和优化 IT 产品功能,建设数字化、智能化的 IT 应用,构建全联接智能华为●深入理解业务需求,完成 IT 产品或系统的基础架构设计、方案规划和系统开发,并持续迭代与优化. 对现网问题进行快速定位并解决,通过自动化、智能化方法对服务性能进行感知并优化. 持续迭代技术架构,提升 laaS / PaaS / SaaS 等各平台的安全、稳定及可靠性.通过 AI 等新技术研究与探索、为团队的技术进步和产品创新提供有效输入,快速实现并应用于实际任务中软件开发工程师(本硕)岗位职责负责产品/平台的软件需求分析、架构设计、代码开发、单元测试、集成测试、静态检查、本地构成、测试环境搭建、问题定位、资料开发等工作.负责相关系统/模块的代码看护及重构,持续优化提升代码质量●负责后端故障诊断和项目支持技术活动,包括产品维护、疑难问题解决、重大项目支撑等 AI 工程师(本硕)岗位方向 自然语言处理/语音语义、机器学习、推荐搜索、计算机视觉、决策推理岗位职责●从事自然语言处理/语音语义、机器学习、推荐搜索、计算机视觉、决策推理等方向的应用研究和开发工作.负责核心算法及平台的设计与研发,解决华为实际业务场景中的问题,提升公司相关产品的核心竞争力和用户体验⬇ 登录官网:http://career.huawei.com/  选择“校园招聘”部门选择“IT平台服务部”;投递完成联系我备案吧
投递华为等公司10个岗位
点赞 评论 收藏
分享
点赞 收藏 评论
分享
牛客网
牛客企业服务