春招模拟赛第六场|Ant|2023.04.11研发岗笔试
- Status
- Done
- Rule
- IOI
- Problem
- 3
- Start at
- 2023-4-16 19:00
- End at
- 2023-4-16 20:20
- Duration
- 1.3 hour(s)
- Host
- Partic.
- 91
You cannot submit for this problem because the contest is ended. You can click "Open in Problem Set" to view this problem in normal mode.
曾经有一个名叫小红的年轻人,他热衷于解决各种复杂的问题。有一天,他在某个二手市场上意外地发现了一排格子,每个格子的背景颜色要么是红色,要么是蓝色。这些格子排成一排,让人感觉像是一个秘密代码。
小红好奇地观察了一会儿,然后他突然想到了一个有趣的问题:如果在每个格子上填写一个小写字母,那么相同的字母应该出现在相同的背景颜色中。这听起来似乎很简单,但实际上这是一个复杂的问题,需要精心计划和良好的逻辑。
然后,小红只关注出现次数最多的字母,他希望尽可能降低它的出现次数。他开始思考并探索这个问题的解决方案,你可以帮助小红解决这个问题吗?
一个仅由字符 '0'
和 '1 '
组成的字符串,长度不超过 200000 。
字符串用于表示小红拿到的格子的颜色。第 i 个字符为 '0'
代表第第 i 个格子为蓝色背景,字符 '1'
代表红色背景。
一个仅由小写字母构成的字符串,第i个字符为第1个格子上填写的字母,请务必保证字符串是合法的。如果有多解,输出任意即可.
输入
10101011
输出
abcdefgh
输入
11111111111111111000000000000000000000
输出
aabbccddeeffgghhijjkkllmmnnooppqqrrsst
二分答案地算一下这个最大值最小可以是多少。接着直接模拟地构造就行。
C++ 二分版本 (from 2333)
#pragma GCC optimize("O3")
#pragma GCC optimize("unroll-loops")
#pragma GCC target("avx,avx2,fma")