#SIM303. 日志压缩器

SIM303 日志压缩器

难度梯度:T3-|训练重点:分段扫描与收尾

题目描述

给定长度 N 的大写字母串,将每个最长连续相同字符段压缩为“字母+段长”。例如 AAABB 压成 A3B2。输出压缩结果以及最长段的长度;若最长段不唯一,输出最先出现段的字母。

最长连续段必须尽可能向两侧延伸,同一字符若被其他字符隔开属于不同段。压缩串中的段长使用普通十进制表示,不加空格。

输入格式

第一行 N;第二行长度 N 的大写字母串 S。

输出格式

第一行压缩后的字符串;第二行最长段字母和长度。

样例输入

8
AAABBCCC

样例输出

A3B2C3
A 3

样例说明

A 与 C 的最长段均为 3,取最先出现的 A。

数据范围

1≤N≤2×10^5。

子任务

30 分:N≤100;30 分:所有段长为 1;40 分:无附加限制。


Problem Info

#SIM303. 日志压缩器

ID 10335
类型 传统题
时间 1000ms
内存 256MiB
尝试 3 已通过 2
难度 10
上传者
标签
模拟状态维护T3-