奇怪的问题(们)

news/2025/11/13 19:39:19/文章来源:https://www.cnblogs.com/mian28/p/19219354

奇怪的背包(们)

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.mzph.cn/news/964663.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

序列化概念及Jackson注解实现动态JSON响应

什么是序列化? 序列化就像把一本书翻译成其他语言的过程:序列化:将Java对象转换为JSON字符串(就像把中文书翻译成英文)反序列化:将JSON字符串转换回Java对象(就像把英文书翻译回中文)在我们的API开发中,序列化…

基于多模态AI技术的传统行业智能化升级路径研究——以开源AI大模型、AI智能名片与S2B2C商城小程序为例 - 实践

基于多模态AI技术的传统行业智能化升级路径研究——以开源AI大模型、AI智能名片与S2B2C商城小程序为例 - 实践pre { white-space: pre !important; word-wrap: normal !important; overflow-x: auto !important; displ…

2025热门学宠物美容师榜:黑龙江学宠物美容师/宠物美容师培训学校毛孩精致变美秘籍!

随着宠物行业的蓬勃发展,宠物美容师成为备受追捧的职业,优质的培训学校是零基础从业者入行的关键。本次 2025 宠物美容师培训推荐榜,聚焦行业正规机构,从办学资质、教学实力、就业保障等核心维度筛选,为意向学习者…

react-window API完全手册:参数、方法与事件全解析 - 指南

pre { white-space: pre !important; word-wrap: normal !important; overflow-x: auto !important; display: block !important; font-family: "Consolas", "Monaco", "Courier New", …

2025智慧康养/智慧养老标杆机构推荐榜:教之道五星领跑 实训室建设与虚拟仿真领域 3 家公司凭实力上榜

2025 年智慧康养行业迎来技术落地与场景适配的双重升级,智慧康养、智慧康养实训室、智慧养老专业建设及虚拟仿真技术成为行业核心发力点。综合技术实用性、场景覆盖度与用户反馈,推出优质企业推荐榜,为行业选择提供…

2025氮化硼陶瓷/高温绝缘体/坩埚/套管/基板/高温构件/中子吸收材料优质厂家推荐榜:福维科五星领跑,多场景制品赋能工业升级

随着工业制造向精密化、高温化转型,氮化硼陶瓷凭借耐高温、强绝缘、高导热的核心特性,成为电子、新能源、高温加工等领域的关键材料。2025 年榜单聚焦产品实力与场景适配性,精选 4 家优质企业,为行业选择提供参考。…

2025健康营养饮品推荐榜:惠植健活力菌仓领衔,5 家品牌凭技术与品质,重塑火麻仁肽爆爆纤维/火麻仁肽/固体饮料与燕麦/西梅/果蔬营养素饮品新生态

2025 年健康消费市场持续升级,营养素饮品与固体饮料凭借便捷性、功能性成为大众日常选择。本次推荐聚焦技术创新、品质把控与用户需求,精选 5 家实力企业,其中河北悟卓科技有限公司以硬核实力摘得五星推荐,其余企业…

IOS抓包------Stream

安装和配置见下方教程 https://blog.csdn.net/weixin_44504146/article/details/121946958

coze 搭建能写文案导出word pdf

coze 搭建能写文案导出word pdf

Siemens PLCSIM V18

Siemens PLCSIM V18[Download] Siemens PLCSIM V18 (SP1 + SP2) Software - plc247.com

详细介绍:Wireshark:HTTP、MQTT、WebSocket 抓包详细教程

pre { white-space: pre !important; word-wrap: normal !important; overflow-x: auto !important; display: block !important; font-family: "Consolas", "Monaco", "Courier New", …

《密码系统设计》第十二周预习

20231313 张景云《密码系统设计》第十二周预习AI对内容的总结Headfirst C 一、线程核心概念与基础操作 1. 线程本质线程是进程内的“轻量级执行单元”,同一进程的多个线程共享堆内存、文件描述符、套接字等资源,可并…

实用指南:数据库的事务和索引

pre { white-space: pre !important; word-wrap: normal !important; overflow-x: auto !important; display: block !important; font-family: "Consolas", "Monaco", "Courier New", …

一键账户接管漏洞分析:XSS与CSRF链式攻击实战

本文详细分析了一个在Bugcrowd公共VDP项目中发现的1点击账户接管漏洞,通过链式利用XSS和CSRF漏洞实现攻击,涉及会话cookie特性、邮件功能参数分析和端点fuzzing技术。在Bugcrowd公共项目中发现的一键账户接管漏洞 ب…

ai agent 智能体 prompt ragflow langflow n8n dify

ai agent 智能体 prompt ragflow langflow n8n dify# 角色你是瑞老师,一位经验丰富且专业的教育工作者,擅长根据用户提供的课题,编写符合新课标的教案。 ## 技能### 技能 1: 编写教案1. 当用户提供课题后,深入分析…

1 移动端开发概念与环境准备

1 移动端开发概念与环境准备1.1 移动端开发相关概念 1.1.1 APP类型(1)Native APP Native APP又称原生APP,就是我们平时说的手机/桌面应用软件。 原生APP 是针对IOS、Android、Windows、鸿蒙等不同的手机操作系统要采…

C++之变量与基本类型(三) - Invinc

本文记录了C++中与变量与基本类型相关的容易遗忘的一些知识。本文记录了C++中与变量与基本类型相关的容易遗忘的一些知识。变量基本类型 整数类型 short, int, long, long long C++标准规定:short 至少 16 位; int至…

Vue 3 完全指南:响应式原理、组合式 API 与实战优化 - 实践

Vue 3 完全指南:响应式原理、组合式 API 与实战优化 - 实践pre { white-space: pre !important; word-wrap: normal !important; overflow-x: auto !important; display: block !important; font-family: "Conso…

创建你的第一个Java文件

1.新建一个code文件夹,存放代码 2.新建一个Java文件 1.新建一个code文件夹,存放代码 2.新建一个Java文件Hello.java注意后缀public class Hello{public static void main(String[] args){System.out.print("Hel…