【解题报告】P8477 「GLR-R3」春分

news/2024/9/30 10:02:24

P8477 「GLR-R3」春分

题目看起来比较魔怔,考虑怎么搞一下。

首先,一个最简单的想法,每对溶液组都配一个板子,可以用 \(n^2\) 个板子解决,看得出来很不优啊,但是可以得到 Sub1 的分数。

节俭一点,我们如果把每个板子都拿出来一面用来对应一种溶液,此时就可以拼起来,只需要 \(2n\) 个板子解决,可以获得 Sub1,Sub2 的分数。

我们发现,上面的做法有一个很严重的缺陷:每个板子都有一面是没有接触过溶液的,我们考虑对这里进行优化。

考虑 \(X\) 没有接触过溶液的背面有什么用,我们把 \(X\) 平均分成两组,一组是 \(X_1 = \{x_1,x_2,\cdots,x_{\lfloor \frac{n}{2}\rfloor}\}\),一组是 \(X_2=\{x_{\lfloor \frac{n}{2}\rfloor+1},x_{\lfloor \frac{n}{2}\rfloor+2},\cdots,x_n\}\)

我们现在为每个 \(X_1\) 的板子都和 \(Y\) 的分割板子去做实验,此时需要共 \(n+\lceil\frac{n}{2}\rceil\)

我们发现此时对于剩下的那一部分我们可以通过对板子进行组合来实现全部覆盖,那么总共需要的就是 \(\lceil\frac{n}{2}\rceil+ n\),通过计算我们可以发现正好多 \(1\),不能通过 Sub3。

因此我们需要对这个算法进行优化,发现其实我们对于奇数的情况完全不需要单独的一个板子,我们在完成翻转后的实验前,可以先让 \(x_n\)\(Y\) 组实验,这样在最后可以减少一块额外的分隔板,因此可以优化到 \(\lfloor \frac{n}{2} \rfloor+n\),完全可以通过 Sub3。

考虑如何通过 Sub4,我们发现 Sub3 里用干净的板子去接触了不干净的板子导致干净的板子被污染了,如果能利用干净的板子就可以更优一点。

如果我们先把 \(X\)\(Y\) 都平均分成三部分,然后先用 \(X_1\)\(Y_{1\sim 3}\) 全部贴一次,此时我们会得到 \(\frac{n}{3} + n\) 个板子。

那么就会形成一个这样的图。

我们此时拿出 \(Y_3\) 翻转用没有染上的那面去染上灰色(灰色那里没有板子),此时我们在 \(Y_3\) 这里直接把 \(X_1\) 被污染的一面的和 \(Y_3\) 被污染的一面拼起来,此时就剩下没有被污染的两面,直接进行 \(X_2\)\(Y\) 的配置即可。

在染上之后我们的 \(X_1\) 两面都被污染了,但是容易发现 \(Y_1\)\(Y_2\) 依然没有被污染。

我们直接把 \(Y_2\) 翻面给 \(X_3\),这样我们就能得到一个左侧 \(X_3\) 右侧 \(Y_2\) 的板子。

我们把原本有一面没被污染的 \(Y_1\)\(Y_3\) 拼过来就行,需要 \(\frac{4n}{3}\) 个板子,能过 Sub4。

看一下 Sub5,我们发现 Sub4 有一些非常不优的地方导致了还可以进一步优化,可以发现在 Sub4 中我们的思路是保证那么一大片全都是空白的才能拼。

但是我们发现事实上我们只需要一个空白板即可。

我们对左边分成 \(4\) 份,对右边分成 \(4\) 份,此时只对于左边的 \(X_1\) 配板,对于右边全部配板。

然后把 \(X_1\)\(Y_{\{1\sim 4\}}\) 全部反应一次,我们把 \(X_1\) 反过来放 \(X_2\),中间隔一个空白板,直接和 \(Y_{\{i\sim 4\}}\) 全部反应一次。

然后用类似上一步的方法进行反应即可,需要 \(\frac{n}{4}+n+1\) 块,可以通过 Sub5。

此时我们发现一件事,诶我们这里 \(X\)\(Y\) 分的总量都是相同的,我们对于左侧分成两部分 \(X_1,X_2\),对于右侧分为三个部分 \(Y_1,Y_2,Y_3\),其中对于 \(X_1\) 配板,同时 \(Y_1,Y_2\) 配板。

我们先对于 \(X_1\)\(Y_1,Y_2\) 进行实验,在试验后我们加入一个空白隔板,让 \(Y_1\) 翻面,此时隔着空白隔板进行 \(Y_3\) 的实验,空白隔板的一面会和 \(Y_1\) 接触导致污染。

此时我们翻转 \(X_1\) 进行 \(X_2\) 的实验,把空白隔板被污染的一面给到 \(X_1\) 被翻转的一面,然后进行实验 \(X_2\)\(Y\) 的实验,由于 \(Y_2\) 还有一面没有被污染,所以刚好能行。

可通过 Sub7。

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

如若内容造成侵权/违法违规/事实不符,请联系我们进行投诉反馈,一经查实,立即删除!

相关文章

PbootCMS百度编辑器ueditor在PHP7下多图上传名字重复问题

针对百度编辑器UEditor在PHP 7环境下多图上传名字重复的问题,PbootCMS V1.3.8 已经进行了修复。以下是具体的修改步骤和详细说明,供遇到类似问题的开发者参考: 修改步骤修改 /ueditor/dialogs/attachment/attachment.js 文件 将 _this.fileList.push(json); 修改为:javascr…

OpenGauss 安装

参考官网链接:https://docs-opengauss.osinfra.cn/zh/docs/5.0.0/docs/InstallationGuide/%E5%8D%95%E8%8A%82%E7%82%B9%E5%AE%89%E8%A3%85.html 其中安装版本为 5.0,操作系统为 openEuler 22 1、创建用户(gauss数据库的安装必须要在普通用户下面)useradd -m gauss  #创建…

pbootcms模板指定栏目标签调用

在PbootCMS中,通过自定义标签来调用指定栏目的功能非常实用,尤其是在构建导航菜单或特定页面布局时。以下是如何使用这些标签的一些示例和说明: 指定栏目标签的基本结构{pboot:sort scode=*}[sort:name] {/pboot:sort}控制参数解释scode=*: 必填参数,用于指定要显示的栏目编…

Ovis1.6-9B视觉大模型环境搭建推理

引子 前阵子,阿里Qwen2-VL刚刚闪亮登场,感兴趣的小伙伴可以移步https://blog.csdn.net/zzq1989_/article/details/142332651?spm=1001.2014.3001.5501。这第一的宝座还没坐多久,自家兄弟Ovis1.6版本就来了,20240919阿里国际AI团队开源多模态大模型Ovis1.6。在多模态权威综…

通过NandGame网站学习选择器

1.选择器 选择器元件选择两个输入中的一个作为输出。 s为选择比特,决定选择哪个输入: 为0时,选择d0;为1时,选择d1。2.开关 开关元件将数据比特送到2个输出之一。 s(选择位)决定d(数据位)是从c1还是c0输出。 电路描述:输入信号:选择位 ( s ) 和数据位 ( d )。 非门:对 (…

vue3滚动条无法监测滚动高度问题

第一个是根组件第二个是子组件第三个是滚动复用组件<el-scrollbar ref="scroll" style="height:100%" @scroll="handleScroll">在滚动复用组件中想要监测滚动的高度变化,一开始没有使用el-scrollbar组件而是直接使用原生的格式导致如图所…

设置virtualBox开机无界面启动

前言 virtualBox中部署了centos,里面运行着docker跑着测试服务。服务器是一台windows。想着怎么设置开启启动且没有界面启动。 方式 有很多种方式,最终决定,使用windows自带的计划任务。我们新建一个任务并设置是不是登录都要执行,开机启动后30秒(必须设置)把启动的exe和执…