Solution -「洛谷 P8477」 「GLR-R3」春分 下界证明?!
前情提要:在「洛谷 P8477」 「GLR-R3」春分中,我们给出了 \(\frac{7}{6}n\pm\mathcal O(1)\) 的解法,但没能给出相关的下界证明。现在我们尝试给出一个未完全完成的下界证明。
为方便描述,我们综合链接中题意和某个“通俗”的题意,称隔板为“板”,称溶液为“人”。
这个问题的自由度很高,我们先通过约束单个板在最优化条件下的行为来降低自由度。对于板的一面,有三种状态:
未被任何人用过,是干净的。
被某个人用过。
间接地被很多人用过。
我们称三种状态分别为 \(\text{C(lean)}\),\(\text{O(ccupied)}\),\(\text{M(essy)}\),一个板的状态可以用两个面的状态描述,记作 \(\text{X/Y}\)。例如,官解中“神奇的板”(搁在中间防止 \(\text{C}\) 与 \(\text{M or O}\) 接触的辅助板;为什么 Reanap 取名如此诡异)是一个恒定的 \(\text{C/M}\)。
初始时,我们会给左右的人分配一些板。这些全新的 \(\text{C/C}\) 板会立马成为“\(x\sim\text{O(x)/C}\)”的状态(\(x\) 表示人)。对于这样一个 \(\text{O/C}\),当它第一次在匹配中脱离 \(x\) 时,它必然只能用 \(\text{C}\) 面接触新的人,也就是 \(y\sim\text{O(y)/O(x)}\)。容易说明,这个 \(\text{O(x)}\) 会被立马弄脏,从而成为 \(y\sim\text{O/M}\)。也就是说,一个分配给人的板的变化一定是:
\]
因此,我们根本不需要关注 \(\text{O}\) 到底时被谁 occupied——这一面要不被翻出来变脏,要不一直和它的主人贴在一起。换句话说,一个板(除了辅助的 \(\text{C/M}\))只有两种状态:\(\text{O/C}\) 或者 \(\text{O/M}\)。当 \(\text{O/M}\) 再和 \(y\) 脱离理应得到 \(\text{M/M}\),但这就是纯纯的废物了。
(急着过周末,这里只给重要结论,有些小性质可以自己推一推喵。)
在此基础上,考虑每时每刻能够进行的匹配。只要当左侧的 \(x\) 和右侧的 \(y\) 在某一个时刻都占有者格子的板,它们就能进行匹配,借助 \(\text{C/M}\),我们能保证这次匹配不会改变两板外露面的状态。
这样,我们得到了原问题的等价归约:
左右两侧各有 \(n\) 个盒子,初始时你可以在每个盒子中放上至多一个小球(初始 \(\text{O/C}\)),每个小球可以由一个盒子移动向另一个空盒子(\(\text{O/C}\to\text{O/M}\)),但同一个小球至多移动一次。构造方案,使得在移动过程中,对于任意左侧盒子 \(x\) 和右侧盒子 \(y\),都存在一个时刻,它们中都有小球。
当 \(n\) 足够大,我们可以用覆盖比例来描述板的行为。设左右有长度为 \(1\) 的“盒子”,左侧初始有 \(0\le p\le 1\) 长度有小球,右侧 \(q\)。我们现在能够证明,当小球只在同侧移动时,\((p+q)_{\min}=7/6\)。
自然地,现在我们有 \(0.5\le p,q\le 1\)。设左侧人 \(x_{1..n}\),右侧人 \(y_{1..n}\),考察初始时跨越左右的一对小球的移动过程:
\]
所以初始时有球的 \((i,j)\) 对至多贡献 \(3\) 个匹配。转换到覆盖长度上,总共能提供的匹配“面积”就是 \(3pq\)。现在,我们写出第一个下界:
\]
得到 \((p+q)_{\min}=\frac{2\sqrt 3}{3}\approx 1.155<1.167\)。能不能逼紧一点?
注意这 \(3pq\) 中必然存在的重复匹配,它们会产生不可忽视的浪费。显然,一个盒子最多被放入两次球。对左侧一个被放入过两次球的盒子,考察放入瞬间右侧的覆盖情况。在这两个时刻,右侧都有长度为 \(q\) 的盒子被覆盖,那么至少有 \(2q-1\) 的长度是重合的,它们在第二个时刻便成为无效匹配。同样,对左侧进行类似分析,显然每个球都被移动过才易取到下界,这时至少有 \(2p-1\) 长度的盒子满足“被放入过两次球”。最终,总共浪费面积至少是 \((2p-1)(2q-1)\)。那么:
\]
不妨考虑 \(p=0.5\) 的端点,解得 \(q=2/3\);极值点 \(p=q\) 处不如端点优秀。所以这种情况下,有 \((p+q)_{\min}=7/6\)。
发展空间:
已有论证是否真的严格?
在“允许左右交换”的问题中找到更优解或证明不更优的界。(踩标途径!)
我们实质上只论证了下界在 \(\frac{7}{6}n-\omicron(n)\) 至 \(\frac{7}{6}n+\mathcal O(1)\) 内。找到优秀的 \(\omicron(n)\) 剪枝(我猜可能有 \(\sqrt n\) 级别的)也不失为一种优化。
Solution -「洛谷 P8477」 「GLR-R3」春分 下界证明?!的更多相关文章
- 「区间DP」「洛谷P1043」数字游戏
「洛谷P1043」数字游戏 日后再写 代码 /*#!/bin/sh dir=$GEDIT_CURRENT_DOCUMENT_DIR name=$GEDIT_CURRENT_DOCUMENT_NAME ...
- 「 洛谷 」P2768 珍珠项链
珍珠项链 题目限制 内存限制:125.00MB 时间限制:1.00s 标准输入输出 题目知识点 动态规划 \(dp\) 矩阵 矩阵乘法 矩阵加速 矩阵快速幂 题目来源 「 洛谷 」P2768 珍珠项链 ...
- 「 洛谷 」P4539 [SCOI2006]zh_tree
小兔的话 推荐 小兔的CSDN [SCOI2006]zh_tree 题目限制 内存限制:250.00MB 时间限制:1.00s 标准输入输出 题目知识点 思维 动态规划 \(dp\) 区间\(dp\) ...
- 「 洛谷 」P2151 [SDOI2009]HH去散步
小兔的话 欢迎大家在评论区留言哦~ HH去散步 题目限制 内存限制:125.00MB 时间限制:1.00s 标准输入 标准输出 题目知识点 动态规划 \(dp\) 矩阵 矩阵乘法 矩阵加速 矩阵快速幂 ...
- Solution -「JSOI 2019」「洛谷 P5334」节日庆典
\(\mathscr{Description}\) Link. 给定字符串 \(S\),求 \(S\) 的每个前缀的最小表示法起始下标(若有多个,取最小的). \(|S|\le3\time ...
- Solution -「洛谷 P4372」Out of Sorts P
\(\mathcal{Description}\) OurOJ & 洛谷 P4372(几乎一致) 设计一个排序算法,设现在对 \(\{a_n\}\) 中 \([l,r]\) 内的元素排 ...
- Solution -「POI 2010」「洛谷 P3511」MOS-Bridges
\(\mathcal{Description}\) Link.(洛谷上这翻译真的一言难尽呐. 给定一个 \(n\) 个点 \(m\) 条边的无向图,一条边 \((u,v,a,b)\) 表示从 ...
- Solution -「APIO 2016」「洛谷 P3643」划艇
\(\mathcal{Description}\) Link & 双倍经验. 给定 \(n\) 个区间 \([a_i,b_i)\)(注意原题是闭区间,这里只为方便后文描述),求 \(\ ...
- 「P4994」「洛谷11月月赛」 终于结束的起点(枚举
题目背景 终于结束的起点终于写下句点终于我们告别终于我们又回到原点…… 一个个 OIer 的竞赛生涯总是从一场 NOIp 开始,大多也在一场 NOIp 中结束,好似一次次轮回在不断上演.如果这次 NO ...
- 「洛谷4197」「BZOJ3545」peak【线段树合并】
题目链接 [洛谷] [BZOJ]没有权限号嘤嘤嘤.题号:3545 题解 窝不会克鲁斯卡尔重构树怎么办??? 可以离线乱搞. 我们将所有的操作全都存下来. 为了解决小于等于\(x\)的操作,那么我们按照 ...
随机推荐
- VueJS实现迷糊查询
原文请查看公共号 前置条件: 开发环境:windows 开发框架:vue2.5 ,vue-cli 4.0+ 编辑器:HbuilderX 兼容版本:vue2.5 Chrome 99.0.4844 ...
- 一文彻底弄懂Spring Boot的启动过程
一,Spring Boot启动过程 1. 启动入口 Spring Boot 应用的启动入口通常是一个包含 @SpringBootApplication 注解的主类,并调用 SpringApplicat ...
- 关于总线协议的记忆技巧—i2c、spi
口诀: 钟高 数下 是开始,(解释,时钟线保持高时,数据线由高拉到低是向下趋势,说明是"开始信号") 钟高 数上 是停止.(解释,时钟线保持高时,数据线由低拉到高是向上趋势,说明是 ...
- PCI 设备 RTX 驱动开发方法 -5565反射内存
PCI 设备 RTX 驱动开发方法 RTX 下操作外设时, 需要把设备从 Windows 移动到 RTX 下面,具体移植方法可以参考 RTX Help 文档中间 Converting a Window ...
- ARC151D Binary Representations and Queries
ARC151D Binary Representations and Queries 题目链接:ARC151D Binary Representations and Queries 非常好思维题. 思 ...
- golang WEB框架Hertz --- 获取参数
安装Hertz命令行工具 请确保您的Go版本在1.15及以上版本,笔者用的版本是1.18 配置好GO的环境后,按照Hertz的命名行工具 go install github.com/cloudwego ...
- 如何使用Python编写一个Lisp解释器
原文出处: Peter Norvig 译文出处: jnjc(@jnjcc) 本文有两个目的: 一是讲述实现计算机语言解释器的通用方法,另外一点,着重展示如何使用Python来实现Lisp方言Sch ...
- 根据多选下拉框选中的结果,循环输出选中的标签<el-cascader>;对象数组由二维变成一维
下面的图是要实现的交互图,根据<el-cascader>中v-model绑定的数据,再去下拉框出书数据中进行比对输出 v-model绑定的数据是一个二维数组,是这样的一组数据 [[1,12 ...
- JPEG格式研究——(1)压缩原理及流程
之前一直很好奇图片和视频是如何压缩的,由于视频格式会更复杂,所以先从JPEG下手 因为网上资料太难找太分散,有些又看不太懂,所以根据自己的理解整理了一下 JPEG简介 JPEG(Joint Photo ...
- 【集成-Jedis】SpringBoot集成Jedis
将jedis的依赖放进Maven <dependency> <groupId>redis.clients</groupId> <artifactId>j ...