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

奇怪的问题(们)

奇怪的背包(们)

CQ友谊赛 - pack

\(n\leq 100\)。物品体积 \(\leq 100\),权值很大 \((\leq 10^9)\)\(m(\leq 100)\) 次询问,求体积恰好为 \(q(\leq 10^9)\) 时的最大物品价值和方案数(相同的物品间没有顺序之分,不同的物品间有顺序之分。)

物品体积 \(\leq 100\) 是突破口。设 \(f_i=(a,b)\) 表示体积恰好为 \(i\) 时最大价值为 \(a\) 方案数为 \(b\)。一个物品设为 \((v_i,1)\)\(v_i\) 是体积。)有转移 \(f_{i+w_j}=f_{i+w_j}+f_i \times (v_j,1)\)。其中二元组加法就类似线段树维护最小值个数时 pushup 的操作。二元组乘法就是 \(a\) 相加,\(b\) 相乘。发现这个是对的,而且可以放到矩阵上。直接矩阵快速幂优化就做完了。

[THUPC 2023 初赛] 背包

\(10^{11} \leq V \leq 10^{12}\) 是突破口。体积下界大得离谱!显然要选一堆性价比最高的。总而言之地引用一句话,“发现 \(V\) 很大 \(v_i\) 却很小,而且还是完全背包,一般都是同余最短路。”

设我们一开始选择了 \(\lfloor \frac{V}{v_0} \rfloor\) 个最优物品,其中 \(v_0\) 是最优物品的体积。设 \(f_i\) 表示,选择体积 \(\bmod v_0 = i\) 时的最优增量。什么意思呢?假设选了一个其它物品,让 \(i+v_j\) 超过了 \(v_0\),那么此时就需要少选一些最优物品让总体积不超过 \(V\),即还要减去 \(\lfloor \frac{i+v_j}{v_0} \rfloor \times w_0\)。这样最后再加上 \(f_{V\bmod v_0}\) 就是答案。求 \(f\) 直接跑最长路就行了。

这显然是对的。我们不可能让最优物品数量变成负。因为最长路不可能经过同一个节点,一旦经过了就说明中间加入的体积 \(\bmod v_0 = 0\),这样就一定不优。当每一个节点只经过一次,总共只会加入 \(v^2\) 的额外体积,这显然是 \(\leq 10^{10}\) 的,而且小于 \(V\) 的下界 \(10^{11}\)。于是它就是对的了。

http://www.rkmt.cn/news/48783.html

相关文章:

  • 基于多模态AI技术的传统行业智能化升级路径研究——以开源AI大模型、AI智能名片与S2B2C商城小程序为例 - 实践
  • 2025智慧康养/智慧养老标杆机构推荐榜:教之道五星领跑 实训室建设与虚拟仿真领域 3 家公司凭实力上榜
  • coze 搭建能写文案导出word pdf
  • Siemens PLCSIM V18
  • 《密码系统设计》第十二周预习
  • 1 移动端开发概念与环境准备
  • 八大排序总结
  • (八大排序)快速排序(递归)
  • (八大排序)冒泡排序
  • (八大排序)堆排序
  • #20232329 2025-2026-1 《网络与系统攻防技术》 实验六实验报告
  • (八大排序)希尔排序
  • 壅土(拼音:yōng tǔ)
  • 2025-11-13 早报新闻
  • P14463 【MX-S10-T4】『FeOI-4』呼吸之野
  • 深入解析:Flink 状态和 CheckPoint 的区别和联系(附源码)
  • XCPC 竞赛 Ubuntu 环境 DOMjudge Server 完整配置指南
  • Python迭代器_高级
  • 字符编码体系详解:从ASCII到UTF-8的演进与实践
  • 按位翻转
  • JavaEE--SpringIoC - 详解
  • 2025年比较好的非标设备机架产品推荐排行榜单,非标设备机架公司精选实力品牌榜单发布
  • Codeforces-2148
  • 辽源适配冻干机西林瓶灌装加塞机推荐
  • C#+WPF?​就是工业上位机,用Python+Qt还
  • ITR经典案例 | 燕千云携手国内知名软件供应商,AI驱动客户服务流升级
  • 彻底解决WPS在扩展屏出现的下拉错位现象
  • 丽江小药厂适用半自动西林瓶灌装生产线
  • 2025年北京继承官司律师机构推荐,这些律所值得信赖,北京丰台继承律师/北京离婚纠纷/离婚纠纷律师/遗产继承律师事务所维权机构选哪家
  • android app network monitor with mitmweb