题目 1704

奇特的猫

查看题解 ↗GitHub ↗如何评测
题号
1704
时间限制
1000 ms
内存限制
256 MB
标签
字符串
来源
信息学奥赛一本通 · 高手训练篇·二、字符串算法(高手训练)

【题目描述】

你有一只奇特的猫。有一天,你将它放到电脑前,你惊奇地发现,它竟然会对着键盘乱敲一顿。你的键盘是老式的打字机型,也就是说光标永远在串尾。当然,小猫可以通过退格键删除字符,现在,你按时间顺序记录下了这只小猫三天中每一天的操作情况,你对小猫每天在不同时刻屏幕上显示的所有字符串(包括空串)所组成的集合起了兴趣。这里一共有三天,一共产生了三个集合,分别记为A,B,CA,B,C。 第一天,你定义两个串的编辑距离为从一个串PP变为另一个串QQ最小的按键次数(应当符合上面的规定),我们将这个编辑过程记为P→QP → Q 。 第二天,你定义字符串的“变换编辑”,表示选取集合AA中的唯一一个特殊串A0A_0和集合BB中的唯一一个特殊字符串B0B_0,令A0A_0到B0B_0的编辑距离为11,即A0→B0A_0 → B_0 这一过程我们看做产生了11单位的编辑距离。 那么在集合AA和集合BB各选出一个字符串,分别为PP和QQ,那么PP到QQ的编辑过程应是P→A0→B0→QP → A_0 → B_0 → Q,总的编辑距离即为每个阶段的编辑过程产生的距离之和。这里A0A_0和B0B_0是可以任意选取的,但是计算一种答案时A0A_0和B0B_0是固定的。 同一个集合中的字符串的编辑距离的计算方式不变。 第三天,你需要在集合AA中选取一个特殊串A0A_0,在集合BB中选取两个特殊串B0B_0和B1B_1(B0B_0和B1B_1可以相同),在集合CC中选取一个特殊串C0C_0。 我们使用“变换编辑”,令A0→B0A_0 → B_0的距离为11,B1→C0B_1 → C_0 的距离为11。 我们如果在集合AA选出字符串PP,在集合BB选出字符串QQ,它们的编辑过程仍为 P→A0→B0→QP → A_0 → B_0 → Q。 对于集合BB和集合CC的字符串PP和QQ,编辑过程为P→B1→C0→QP → B_1 → C_0 → Q 。 对于集合AA和集合CC的字符串PP和QQ,编辑过程为 P→A0→B0→B1→C0→QP → A_0 → B_0 → B_1 → C_0 → Q。 第一天计算的结果是固定的,但后两天计算的结果取决于你标记的特殊串。希望求出通过不同的标记方案的计算结果的最小值和最大值。 注意三次计算是独立的。

【输入】

输入分三组,依次表示三天小猫的按键。 每组数据仅一行,依次为按键字符 ASCIIASCII 值。 退格键的 ASCIIASCII值是 88。

【输出】

共三行,每行两个整数,表示该天的最小值和最大值。

【输入样例】

文本
97
97
97 8 97 8

【输出样例】

文本
1 1
10 10
31 35

【提示】

【样例输入2】

文本
54 8 73 70 117 118 8 8 8 8 99 8
50 89 8 8 56 39 8 60 116 59 123 8 8 8 8 8
45 8 51 8 61 57 8 98 8 8 90 8 105 83 8 8

【样例输出2】

文本
52 52
441 634
1156 2200

【数据规模】 记SS为三天中集合个数最多的那天的集合。 对于10%的数据,∣S∣≤10|S|≤10。 对于20%的数据,∣S∣≤100|S|≤100。 对于40%的数据,∣S∣≤4000|S|≤4000。 对于70%的数据,∣S∣≤105|S|≤10^5。 对于100的数据,∣S∣≤106|S|≤10^6。

文本
54 8 73 70 117 118 8 8 8 8 99 8\n50 89 8 8 56 39 8 60 116 59 123 8 8 8 8 8\n45 8 51 8 61 57 8 98 8 8 90 8 105 83 8 8
文本
52 52\n441 634\n1156 2200

数据下载

题目 1704 的公开数据

正在读取文件列表…

常用命令

题目 1704 的 ROJ 命令

以下命令默认使用全局安装的 ROJ Skill,请在终端中直接执行;如果修改过 AGENT_HOME,请将命令中的 ~/.agents 替换为对应目录。