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。

【解题报告】P8477 「GLR-R3」春分的更多相关文章

  1. 「ZJOI2016」解题报告

    「ZJOI2016」解题报告 我大浙的省选题真是超级神仙--这套已经算是比较可做的了. 「ZJOI2016」旅行者 神仙分治题. 对于一个矩形,每次我们从最长边切开,最短边不会超过 \(\sqrt{n ...

  2. 「THUSCH 2017」大魔法师 解题报告

    「THUSCH 2017」大魔法师 狗体面太长,帖链接了 思路,维护一个\(1\times 4\)的答案向量表示\(A,B,C,len\),最后一个表示线段树上区间长度,然后每次的操作都有一个转移矩阵 ...

  3. 「AHOI / HNOI2018」转盘 解题报告

    「AHOI / HNOI2018」转盘 可能是我语文水平不太行... 首先可以猜到一些事实,这个策略一定可以被一个式子表示出来,不然带修修改个锤子. 然后我们发现,可以枚举起点,然后直接往前走,如果要 ...

  4. 「CTS2019 | CTSC2019」氪金手游 解题报告

    「CTS2019 | CTSC2019」氪金手游 降 智 好 题 ... 考场上签到失败了,没想容斥就只打了20分暴力... 考虑一个事情,你抽中一个度为0的点,相当于把这个点删掉了(当然你也只能抽中 ...

  5. 「CTS2019 | CTSC2019」随机立方体 解题报告

    「CTS2019 | CTSC2019」随机立方体 据说这是签到题,但是我计数学的实在有点差,这里认真说一说. 我们先考虑一些事实 如果我们在位置\((x_0,y_0,z_0)\)钦定了一个极大数\( ...

  6. 「JOI2019 Final」解题报告

    传送门 「JOI2019 Final」勇者比太郎 看懂题就很简单了,后缀和随便维护一下就好了,别用树状数组强加一个\(\log\)就行. 「JOI2019 Final」画展 显然可以先把所有的画框按大 ...

  7. 「SOL」JOISC2021 解题报告

    JOIS(egment-Tree)C 1. 前言 很早之前教练让我们做这套题,我以为这套题应该挺简单,用几天的空余时间就能刷完,结果预想的短周期刷题变成了长周期刷题--(好像是整个团队里最后一个刷完的 ...

  8. 「TJOI / HEOI2016」字符串

    「TJOI / HEOI2016」字符串 题目描述 佳媛姐姐过生日的时候,她的小伙伴从某东上买了一个生日礼物.生日礼物放在一个神奇的箱子中.箱子外边写了一个长为 \(n\) 的字符串 \(s\),和 ...

  9. 「BZOJ 4228」Tibbar的后花园

    「BZOJ 4228」Tibbar的后花园 Please contact lydsy2012@163.com! 警告 解题思路 可以证明最终的图中所有点的度数都 \(< 3\) ,且不存在环长是 ...

  10. 「BZOJ 3645」小朋友与二叉树

    「BZOJ 3645」小朋友与二叉树 解题思路 令 \(G(x)\) 为关于可选大小集合的生成函数,即 \[ G(x)=\sum[i\in c ] x^i \] 令 \(F(x)\) 第 \(n\) ...

随机推荐

  1. 关于MultipartFile

    首先,他来自spring框架,用于处理文件上传的问题 一般来讲,这个接口主要是实现以表单形式上传文件的功能 常用方法: getOriginalFileName:获取文件名+拓展名 getContent ...

  2. 【JavaScript】前端算法题(重建二叉树、反向输出链表每个节点)

    前言 今天复习了一些前端算法题,写到一两道比较有意思的题:重建二叉树.反向输出链表每个节点 题目 重建二叉树: 输入某二叉树的前序遍历和中序遍历的结果,请重建出该二叉树.假设输入的前序遍历和中序遍历的 ...

  3. ceph 002 ceph架构 ceph数据存储过程 ceph集群安装

    ceph 架构 rgw:实现对象存储 (web的url和swift,s3接口) mon:集群的访问入口 (集群,同时工作,得同步信息.每个mon的ip不一样) mgr:监控 信息收集 web 界面 ( ...

  4. 平衡树之Splay树详解

    认识 Splay树,BST(二叉搜索树)的一种,整体效率很高,平摊操作次数为\(O(log_2n)\),也就是说,在一棵有n个节点的BST上做M次Splay操作,时间复杂度为\(O(Mlog_2n)\ ...

  5. 2、Git之Windows版本的安装

    2.1.下载Git 官网下载地址:https://git-scm.com/download/ 最初,Git 是用于管理 Linux 社区的代码,所以在很长的一段时间内,Git 只能安装在 Linux ...

  6. 【导出Excel】 JS的Excel导出库 Export2Excel

    Export2Excel库默认放在ElementUI-Admin项目的src/vendor包中 不是通过package.json安装的依赖 这里直接贴库的源码: /* eslint-disable * ...

  7. 怎么在Ubuntu系统云服务器搭建自己的幻兽帕鲁服务器?幻兽帕鲁搭建教程

    <幻兽帕鲁>是一款备受瞩目的开放世界生存建造游戏,近期在游戏界非常火爆.玩家可以在游戏世界中收集神奇的生物"帕鲁",并利用它们进行战斗.建造.农耕.工业生产等各种活动. ...

  8. 如何在 Ubuntu18.04 server 服务器版本的操作系统下 配置IP

    如题,现有需求,为一个server版本的Ubuntu18.04配置 IP . 在网上查到了     Ubuntu18.04  桌面版本  的配置方法: https://www.cnblogs.com/ ...

  9. ubuntu 服务器显示 计算显卡的剩余 显存空间 并执行计划任务

    在Ubuntu服务器上需要运行gpu计算任务,由于需要无人值守的在显存空间满足条件的时候运行程序,于是有了自动显示显存的程序及自动运行任务的程序: 自动显示显存: import os import r ...

  10. 如何在Spring Cloud中实现Nacos客户端登录密码加密

    背景 公司规范要求配置文件里不能出现明文的密码.最近项目引入了Nacos作为服务的配置中心,使用的是spring-cloud-starter-alibaba-nacos-config这个包. 基本的b ...