题解:CF1292E Rin and The Unknown Flower

news/2025/10/7 20:53:12/文章来源:https://www.cnblogs.com/JohnYam/p/19055957

传送门

一道有趣的思维题。

我们从最简单的情况开始考虑:如果还剩下 \(2\) 格电呢?

那么直接询问 \(\texttt{O}\)\(\texttt{H}\),剩下的位置就是 \(\texttt{C}\)

从以上的朴素做法中我们得到启发:能不能通过耗电量更低的方式来确定三个字母的所有位置?

询问一个长度为 \(t\) 的串的耗电量是 \(\frac{1}{t^2}\),注意到分母越小(即询问的字符串长度越短)耗电量越大,因此我们希望尽可能加长询问的串的长度。

考虑询问 \(\texttt{CC,CH,CO}\),这样我们可以确定(除了最后一个字母以外)所有 \(\texttt{C}\) 的位置。再询问 \(\texttt{OO,HO}\),这样我们可以确定(除了第一个字母以外)所有 \(\texttt{O}\) 的位置。这时我们消耗了 \(1.25\) 格电量。

现在我们至多只剩下第一个字母和最后一个字母不确定,因此我们至多再进行三次询问就能够确定完整的串是什么。具体地,第一个字母只有可能是 \(\texttt{H,O}\) 两种情况(如果是 \(\texttt{C}\) 已经在以上的第 \(1\)\(3\) 个询问中被问出来了),最后一个字母只有可能是 \(\texttt{C,H}\) 两种情况(如果是 \(\texttt{O}\) 已经在以上的第 \(3\)\(5\) 个询问中被问出来了)。

经过计算,当字符串长度大于 \(4\) 的时候,总耗电量是小于 \(1.4\) 的(长度为 \(4\) 时总耗电量为 \(1.4375\),长度为 \(5\) 时总耗电量为 \(1.37\))。

因此我们以下考虑字符串长度等于 \(4\) 的情况。

首先还是要询问 \(\texttt{CC,CH,CO}\),如果三个中有至少一个出现了,那么就已经有至少两个位置确定了。并且如果字符串中还有 \(\texttt{C}\) 没有被问出,则这个 \(\texttt{C}\) 只有可能在最后一位。

此时如果最后一位已经被确定,则一共有 \(4\) 种可能的情况(以最后两位已经被确定为例,分别为 \(\texttt{HH**,HO**,OH**,OO**}\)\(\texttt{*}\) 处为已经被确定的字母)。如果最后一位没有被确定,则一共有 \(6\) 种可能的情况(以前两位已经被确定为例,分别为 \(\texttt{**HC,**OC,**HH,**OH,**HO,**OO}\))。则至多只需进行 \(5\) 次询问,最多耗电量为 \(1.0625\)

如果以上三者都未出现,再询问 \(\texttt{HO}\),如果出现过,则至多有 \(6\) 种可能的情况,与以上同理,最多耗电量为 \(1.3125\)

如果以上四者都未出现,再询问 \(\texttt{OO}\),如果出现过,此时原字符串有可能是 \(\texttt{OOOO}\)\(\texttt{OOO?}\)\(\texttt{OOH?}\)\(\texttt{?}\) 处为未确定的字母)。如果是第一种情况,则此时已经确定,询问结束,总耗电量为 \(1.25\);如果是第二种情况,则前三位已经确定,再询问一次即可(因为最后一位不能是 \(\texttt{C}\)),总耗电量为 \(1.3125\);如果不是前两种情况,则第三位也已经确定是 \(\texttt{H}\),与第二种情况同理,再询问一次即可。

如果以上五者都未出现,则该字符串一定是 \(\texttt{?HH?}\) 的形式(因为如果中间两位出现 \(\texttt{C,O}\),应当在前五次询问中被问出),此时第一位可能是 \(\texttt{C}\)\(\texttt{H}\),最后一位可能是 \(\texttt{O}\)\(\texttt{H}\)。此时询问 \(\texttt{HHH}\),则所有 \(\texttt{H}\) 的位置都已被问出,那么根据排除法就能确定第一位和最后一位的位置。总耗电量约为 \(1.3611\)

将以上两种情况合起来,本题就完成了。

本题分讨比较复杂,蒟蒻只会暴力地写一大堆条件判断,导致代码很不优美,就不放了,大家可以看其他大佬更加简洁的实现方式。

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

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

相关文章

打印A3大小的PDF文件为A4幅面

Foxit 福昕打印pdf:放大150% 然后把每页旋转180度,保存,打印。方法一: 用 Acrobat Pro DC 旋转。 方法二: 用 illustrator,打开pdf,选择某页,旋转,保存

一个完整的网站建设怎么在58同城上做网站

linux服务器的字符集设置可能影响到网站页面出现 “???” 等问号乱码,还有可能导致文件中的汉字部分出现乱码。有两个原因 服务器没有安装 zh_CN.UTF-8 字符集,导致不支持中文!服务器虽然装了 zh_CN.UTF-8…

深入解析:SpringBoot-Thymeleaf

深入解析:SpringBoot-Thymeleafpre { white-space: pre !important; word-wrap: normal !important; overflow-x: auto !important; display: block !important; font-family: "Consolas", "Monaco&qu…

课程总结2

请看下列代码,你发现有什么特殊之处吗? public class MethodOverload { public static void main (String [] args) { System.out.println ("The square of integer 7 is" + square (7)); System.out.prin…

延安网站建设哪家专业深圳多区最新通知

‍作者|张祥威 编辑|德新 多位知情人士告诉HiEV,智能网联汽车准入试点通知,乐观预计将在一个月内发布。试点的推动,意味着国家层面的自动驾驶L3标准随之到来。 「L3标准内容大部分与主机厂相关,由工信部牵头,找了几家…

机器学习:集成学习概念、分类、随机森林 - 实践

机器学习:集成学习概念、分类、随机森林 - 实践2025-10-07 20:45 tlnshuju 阅读(0) 评论(0) 收藏 举报pre { white-space: pre !important; word-wrap: normal !important; overflow-x: auto !important; display…

sudo docker exec -it backend bash 以交互方式(interactive)进入正在运行的 Docker 容器的命令行环境 - 实践

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

解码查找算法与哈希表

查找基础概念 查找的定义 查找(又称搜索)是从一组数据中,找出 “关键字与目标值匹配” 的记录的操作;若找到则返回记录的位置(如数组下标),若未找到则返回 “不存在” 标识(如-1)。 查找效率的影响因素数据存…

完整教程:MySQL 如何判断某个表中是否存在某个字段

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

2025/10/7

2025/10/7休息一天

NVMe IP现状扫盲 - 指南

NVMe IP现状扫盲 - 指南pre { white-space: pre !important; word-wrap: normal !important; overflow-x: auto !important; display: block !important; font-family: "Consolas", "Monaco", &qu…

山西正规网站建设推广如何分析网站流量

项目介绍 ChatTTS是一款专为优化对话场景而生的语音生成模型,尤其匹配大型语言模型(LLM)的交互需求,以及生成对话式音频、视频旁白等应用场景,无缝覆盖中英文双语。 通过汲取约100,000小时的高质量中英语音数据进行深…

字体设计教程网站好变装chinacd wordpress

泛型&#xff08;宽泛的&#xff0c;不确定的类型&#xff09; 使用场景&#xff1a;定义一个函数或类时&#xff0c;无法确定要使用的具体类型&#xff08;返回值、参数、属性的类型不能确定&#xff09;泛型使用时相当于一个参数 functiondemo<T>(arg: T): T{return …

第二次课动手动脑合集

文档: https://files.cnblogs.com/files/blogs/847696/动手动脑2.zip?t=1759839965&download=true 1.生成随机数 import java.util.Arrays; public class RandomGenerator { public static void main(String[] a…

网站时间轴品牌策划经典案例

示意图的特点 示意图表示的是大体上描述或表示物体的形状、相对大小、物体与物体之间的联系(关系),描述某器材或某机械的大体结构和工作的基本原理,描述某个工艺过程简单图示都叫做示意图。 示意图的特点就是简单明了,它突出了重点,忽略很多次要的细节。老师上课时在黑板…

课后实验2

public class MethodOverload { public static void main(String[] args) { System.out.println("The square of integer 7 is " + square(7)); System.out.println("\nThe square of double 7.5 is &q…

网站qq在线代码公主岭网站建设

非常高兴有机会向大家介绍CleanMyMac X 2024这款专业的Mac清理软件。它以其强大的清理能力、系统优化效果、出色的用户体验以及高度的安全性&#xff0c;在Mac清理软件市场中独树一帜。 CleanMyMac X2024全新版下载如下: https://wm.makeding.com/iclk/?zoneid49983 一、主要…

centos8的防火墙管理

开放一个tcp端口 firewall-cmd --zone=public --add-port=83/tcp --permanent 查看防火墙的状态 systemctl start firewalld.service

UCB-CS70_离散数学_个人笔记:Proofs 和 EECS 的联系及几种常见证明方法 - Zeeh

Proofs are very powerful and are in some ways like computer programs. Indeed, there is a deep historic link between these two concepts that we will touch upon in this course — the invention of compute…

提升学历哪种方式含金量高网站外链优化

用护眼灯还需要开灯吗&#xff1f;在使用护眼台灯时&#xff0c;同时开启室内的主照明十分必要。如果关闭其他灯具&#xff0c;仅保留护眼台灯&#xff0c;那么只有台灯周围的小片区域能够被照亮&#xff0c;而房间的其他部分则处于相对昏暗的状态。这种明显的光线差异会造成视…