A71875 | 生成(onegram)
来源编程题
时间限制1s
内存限制512MB
通过 / 提交0/0
题目描述
小 Y 对现在的大模型生成技术非常感兴趣,他设计了一个非常简单的生成策略。这个生成策略是逐个字符生成的,字符集只包含小写字母。
对于一个字符串,生成的下一个字符只和当前的末尾字符有关,他会把字符串中跟当前末尾字符相同的字符挑出来,再把这些字符的下一个字符选中,在选中的字符中找到出现频率最高的字符作为当前的生成。特别的,如果有多个出现频率最高的字符,小 Y 会选择字典序最小的那个字符生成。如果末尾字符在前面没有出现过,则生成 a。
举例来说,如果当前的字符串为 ababaca,生成过程是这样的:此时末尾字母为 a,首先选中所有的字母 a,将小写字母 a 标成红色后字符串将是 ababaca,可以看到所有红色字符的下一个字符为依次 b、b、c,因为 b 出现了 2 次而 c 仅出现了 1 次,所以生成的下一个字符是 b,新字符串变为 ababacab。
对于一个长度为 n 的字符串,小 Y 希望按照以上生成策略进行 n 次生成,他希望知道生成之后的长度为 2n 的字符串是什么样的。
输入格式
一行一个字符串。
输出格式
一行一个字符串,长度为输入字符串的两倍。
输入输出样例
输入 #1
aba
输出 #1
ababab
输入 #2
abc
输出 #2
abcabc
输入 #3
tsdaasfadgfbdbdgiojiasjid
输出 #3
tsdaasfadgfbdbdgiojiasjidgfasadgfasdgfasdgfasd
数据范围
本题共有 9 个测试点,每个测试点 10 分。
对于所有测试点:1 \le n \le 100000,字符集仅包含小写字母,n 表示字符串长度。
对于测试点 1-2 :1 \le n \le 5。
对于测试点 3 :保证字符串中的所有字符完全相同。
对于测试点 4-5:保证字符串中只包含 a,b 这 2 种字符。
C++ 编辑器
输入
输出
可保存默认模板;新题优先使用已保存模板。
当前快捷键仅展示,暂不支持修改。
- 撤销
Ctrl / ⌘ + Z - 重做
Ctrl / ⌘ + Y - 查找
Ctrl / ⌘ + F - 全选
Ctrl / ⌘ + A - 复制
Ctrl / ⌘ + C - 剪切
Ctrl / ⌘ + X - 粘贴
Ctrl / ⌘ + V - 自动排版
工具栏排版按钮 - 草稿保存
编辑时自动保存到本机
历史
提交记录
状态说明时间源码
AI
作答助手
你好,我是作答助手。可以问思路、复杂度、样例含义或代码报错原因;不会直接给出完整 AC 代码。
确定要清空代码吗?