省选训练赛 #11 记录

news/2024/12/27 16:41:53/文章来源:https://www.cnblogs.com/Sktn0089/p/18636051

个人认为 B 和 C 质量都很高。

B

一个数轴上有 \(n\) 个炸弹,第 \(i\) 个炸弹位于 \(X_i\),爆炸半径为 \(R_i\),权值为 \(v_i\),这些炸弹的排布有两个性质:

  • 若炸弹 \(x\) 可以直接或间接引爆炸弹 \(y\),那么 \(y\) 一定不能直接或间接引爆炸弹 \(x\)

  • 定义炸弹序列 \(a_1, a_2, \dots, a_k\) 要求 \(\forall i\in [1, k - 1]\),炸弹 \(a_i\) 可以引爆 \(a_{i + 1}\)。令 \(d(x, y)\) 为最大的 \(k\) 满足存在炸弹序列 \(a_1, a_2, \dots, a_k\)\(a_1 = x, \ a_k = y\)。若 \(d(x, y) = 3\),则 \(x\) 一定可以直接引爆 \(y\)

对于每个炸弹 \(i(1\le i\le n)\),求对于所有的炸弹序列 \(a_1, a_2, \dots, a_k\) 满足 \(a_k = i\),其 \(\sum\limits_{j = 1} ^ {k - 1} f(v_{a_j}, v_{a_{j + 1}})\) 的最大值,其中 \(f(u, v) = ((u\oplus v) + u\cdot v) \bmod 998244353\)

\(1\le n\le 3\times 10^5, \ 0\le R_i\le 10^{18}, \ |X_i|\le 10^{18}\)

对于这种题,其代价函数 \(f(u, v)\) 几乎无法拆开,而且可能的转移数量为 \(\mathcal O(n ^ 2)\),那么算法几乎无法得到优化。

所以,关键点在于转移数量可能并不是 \(\mathcal O(n ^ 2)\)

  • Lemma:对于炸弹 \(x\),对于任意 \(k\ge 2\),炸弹 \(x\) 右边的满足 \(d(x, y) = k\) 的炸弹 \(y\) 至多一个。
Proof

反证。若存在 \(x, y, z\) 满足 \(X_x < X_y < X_z\)\(d(x, y) = d(x, z) = k\)

在炸弹 \(z\) 一路引爆到炸弹 \(x\) 的过程中同时会引爆炸弹 \(y\),那么 \(d(x, z) > d(x, y)\),矛盾。

  • Theorem\(\max\limits_{1\le x < y\le n} d(x, y) \le \mathcal O(\log R)\)
Proof

考虑对于三个炸弹 \(x, y, z\) 满足 \(X_x < X_y < X_z\),若 \(z\) 可以直接引爆 \(y\)\(y\) 可以直接引爆 \(x\)

由炸弹排布性质,\(z\) 可以直接引爆 \(x\)

可得 \(X_y - X_x\le R_y,\ X_z - X_x\le R_z\)

又知 \(y\) 不能引爆 \(z\)\(x\) 不能引爆 \(y\),那么 \(R_x < X_y - X_x, \ R_y < X_z - X_y\)

所以 \(X_y - X_x \le R_y < X_z - X_y\),所以 \(R_x < X_y - X_x < \frac {X_z - X_x} 2 \le \frac {R_z} 2\)

所以每引爆两个炸弹,半径至少减半,所以 \(d(x, y)\)\(\mathcal O(\log R)\) 级别。

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.hqwc.cn/news/859905.html

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

相关文章

4.链接标签

<!DOCTYPE html><html lang="en"><head> <meta charset="UTF-8"> <title>链接标签学习</title></head><body> <!--使用name作为标记名称--> <a name="top"/>顶部</…

DL00768-基于YOLO深度学习的电瓶车佩戴头盔检测系统python实现

DL00768-基于YOLO深度学习的电瓶车佩戴头盔检测系统python实现 可支持发票随着城市交通拥堵问题的加剧和共享电动车的普及,电动车安全问题引起了广泛关注,尤其是骑行者佩戴头盔的问题。佩戴头盔是确保骑行安全的关键措施,但由于部分骑行者未按规定佩戴头盔,导致了大量交通事…

vs code 合并分支,界面操作

简单描述: 如其他分支合并到dev 里面,切换到dev分支,然后用终端 git pull 一下,再“分支”--"合并" 选择要合并的其他分支,最后推送 界面如下: 点击切换分支,git pull 选择要合并的其他分支,合并 点击“合并”后,弹出分支后,选择要合并的分支,如feature_…

GO 学习笔记之零 (三)常见问题处理集锦

1、Golang如何解决case-insensitive import collision问题 1.1 现象1.2 解决方法该问题产生说明在所有go文件中引入包时,存在 ShipModel/Radar 和 ShipModel/radar 两种写法,需要统一。对于VSCODE工具,可以在 全局文件中搜索 ShipModel/Radar 查看 写法是不是一样,然后 进行…

UML之属性与参数的多重性

在UML中,多重性是指一个条目潜在的数量范围。多重性可被用于属性、操作参数、关联关系。UML元模型也使用多重性对元模型元素之间的关系进行约束。多重性总是包含基数值,它是相关条目在现实世界中的确切数量。本文将说明类属性和类操作参数的多重性。 一、属性的多重性 假设我…

水仓水位异常识别智慧矿山一体机构建智慧矿山系统:监控硬盘如何影响监控系统的稳定性?

中国作为全球最大的煤炭生产和消费国,煤矿行业在能源供应中依然占据重要地位。虽然国家逐步推动能源结构转型,发展可再生能源,但煤炭仍然在短期内满足能源需求方面发挥着重要作用。近年来,煤矿安全生产水平有所提高,但仍存在一定的安全隐患。国家对煤矿的安全监管力度加大…

FANUC发那科机器人控制箱维修操作流程

FANUC发那科机器人在工业自动化领域中占有重要地位,其高效、稳定和精确的性能赢得了众多用户的青睐。然而,随着使用时间的增长,可能会出现FANUC机器人控制柜故障,影响到发那科机器人的正常运行。本文将详细介绍发那科FANUC机器人控制箱维修操作流程,帮助企业更好地了解和掌…

CH592 memcpy

memcpy提速方法: #define ALIGN_MASK 0x3 #define COPY32 *d32 = *s32; d32++; s32++; #define COPY8 *d8 = *s8; d8++; s8++; #define SET32(x) *d32 = x; d32++; #define SET8(x) *d8 = x; d8++; #define REPEAT8(expr) expr expr expr expr expr expr expr expr type…

【工作相关】gki boot.img下载

地址 https://source.android.com/docs/core/architecture/kernel/gki-android13-5_15-release-builds?hl=zh-cn Android13-5.15 发布版本查看Linux version信息: 相关解包命令参考这里【传送门】 解包过程:~/cts/gki$ ../bin/unpack_bootimg --boot_img boot-5.15.img --ou…

鸿蒙NEXT开发实战教程—小红书app

幽蓝君最近发现小红书是个好东西,一定要多逛今天就浅浅模仿一下小红书app,主要是底部tab栏和主页部分。首先看一下tabbar,由于中间有一个红色按钮的存在,所以这里我使用自定义导航栏来实现,自定义的实现逻辑是在本来app的上层叠加一层自定义tabbar,使用监听index的变化来…

Python数据结构之双向循环链表

1、循环双向链表特点通过当前结点直接获取上一结点 通过头结点的上一结点直接可以去找到尾结点 可以进行反向循环链表,即反转链表2、头结点 链表头: 在数据结构中,链表是一种常见的存储结构。链表的每个节点包含数据和指向下一个节点的指针。链表头是链表的第一个节点,它在…

CDS标准视图:功能位置 I_FunctionalLocation

视图名称:I_FunctionalLocation 视图类型:基础 视图代码:点击查看代码 @EndUserText.label: Functional Location @Analytics: { dataCategory: #DIMENSION } @VDM.viewType: #BASIC @AbapCatalog: { sqlViewName: IFUNCTLLOCATION, compiler.compareFilter, preserveKey } …