尧图网站建设 尧图网络
  • 首页
  • 关于我们
  • 服务项目
  • 案例展示
  • 建站流程
  • 资讯中心
  • 联系我们
首页/资讯中心/详情

ARC201B Binary Knapsack

ARC201B Binary Knapsack
📅 发布时间:2026/6/19 9:45:08
用决策单调性优化动规来解决初步问题,之后需要补充更加优秀的做法

比赛中模拟赛的题,先来记录一下考场做法。

首先发现和普通背包问题的唯一不同就在于空间都是 \(2\) 的整数次幂的,这提示我们从这里下手。那么关于这种,我们只可能与二进制有关了,于是我们考虑选择一个在二进制上的贡献,并从高位向低位上看。我们发现,如果最高位上为 \(1\),那么这里也只能选一个数,而如果不选的话下一位可以多选两个数。这给了我们思路。我们设 \(f(i,j)\) 表示现在考虑到了第 \(i\) 位,至多选 \(j\) 个数。那么之后发现,如果这一位上要选 \(k\) 个数的话,那么一定是选前 \(k\) 大的,那么只需要枚举这一位选几个即可。定义 \(S(i)\) 为这一位的有序集合,\(S(i,j)\) 表示前 \(j\) 个数的和。定义 \(p_x^i\) 表示 \(x\) 的第 \(i\) 二进制位的值,那么有转移:

\[f(i,j)=\max_{k=0}^{\min(|S_i|,j)}\left\{S(i,k)+f(i-1,2(j-k)+[p_m^{i-1}==1])\right\} \]

其中 \(f(0,j)=S(0,j)\),这样我们就获得了一个 \(O(n^2\log m)\) 的做法。但是还是不能够通过本题。并且这个东西看起来也不是非常好维护的样子。那么也一定有一些性质在里面。之后通过打表注意到对于同一个 \(i\) 满足决策单调性,于是就双指针优化到了 \(O(n\log m)\) 了。

但是比赛时要求的是这个题的加强版,还额外有 \(Q\) 次不独立的修改,每一次将一个价值加 \(1\),并求。这个就没有办法用上面这个动规做了,需要额外想办法。

相关新闻

  • LDC
  • 完整教程:由JoyAgent观察AI Agent 发展
  • Spark计算引擎

最新新闻

  • 2026杭州黄金回收机构测评:全域正规门店排名优选 - 奢侈品回收评测
  • 期权定价实战:从BSM模型到Python代码实现
  • FanControl:Windows平台专业风扇智能温控的完整解决方案
  • 建构之法阅读笔记5
  • 别被线上虚高报价骗了!广州正规回收认准收的顶,报价即成交价 - 奢侈品回收测评
  • Honey Select 2终极游戏增强补丁:一键解锁完整游戏体验的完整解决方案

日新闻

  • 5分钟掌握Python进化算法:Geatpy高性能优化工具完全指南
  • Microchip 24AA044 EEPROM选型与应用全指南:从参数解析到实战编程
  • 华为的鸿蒙到底有多牛?为什么称作遥遥领先?

周新闻

  • 3步解锁iOS设备:applera1n激活锁绕过完全指南
  • 39 2026 人工智能证书终极盘点,普通人选 AI 证书可以从这些方向入手
  • Redis 暴露公网有多危险?从端口检查到补救步骤

月新闻

  • 【总结】入门篇:50句话让你记住架构核心概念
  • WeChatMsg技术方案解析:实现Mac微信数据自主管理的完整解决方案
  • WeChatMsg:革新性微信数据备份方案,打造你的专属数字记忆库

关于尧图

  • 公司简介
  • 团队介绍
  • 企业文化
  • 荣誉资质

服务项目

  • 定制开发
  • 电商建站
  • UI 设计
  • 运维服务

快速链接

  • 案例展示
  • 建站流程
  • 常见问题
  • 资讯中心

联系方式

  • 📍北京市朝阳区互联网产业园 A 座 10 层
  • 📞400-888-8888
  • ✉️contact@rkmt.cn
  • 🕐周一至周日 9:00-21:00

© 2024 北京尧图网络科技有限公司 版权所有 | 京 ICP 备 XXXXXXXX 号