CF1137B.Camp Schedule
普及/提高-
通过率:0%
时间限制:1.00s
内存限制:512MB
AC君温馨提醒
该题目为【codeforces】题库的题目,您提交的代码将被提交至codeforces进行远程评测,并由ACGO抓取测评结果后进行展示。由于远程测评的测评机由其他平台提供,我们无法保证该服务的稳定性,若提交后无反应,请等待一段时间后再进行重试。
题目描述
The new camp by widely-known over the country Spring Programming Camp is going to start soon. Hence, all the team of friendly curators and teachers started composing the camp's schedule. After some continuous discussion, they came up with a schedule s, which can be represented as a binary string, in which the i-th symbol is '1' if students will write the contest in the i-th day and '0' if they will have a day off.
At the last moment Gleb said that the camp will be the most productive if it runs with the schedule t (which can be described in the same format as schedule s). Since the number of days in the current may be different from number of days in schedule t, Gleb required that the camp's schedule must be altered so that the number of occurrences of t in it as a substring is maximum possible. At the same time, the number of contest days and days off shouldn't change, only their order may change.
Could you rearrange the schedule in the best possible way?
全国闻名的春季编程训练营即将开营。因此,所有友善的组织者与讲师团队开始共同制定训练营的日程表。经过连续讨论,他们最终确定了日程表 s,该日程表可用一个二进制字符串表示:其中第 i 个字符为 '1' 表示学生在第 i 天参加比赛,为 '0' 表示第 i 天休息。
就在最后时刻,格列布(Gleb)提出:若训练营按日程表 t(格式同 s)运行,则效果将最为高效。由于当前日程表的天数可能与日程表 t 的天数不同,格列布要求对当前日程表进行调整,使得 t 作为子串在调整后的日程表中出现的次数尽可能多。同时,比赛日与休息日的总天数均不得改变,仅可调整它们的顺序。
你能否以最优方式重排该日程表?
输入格式
The first line contains string s (1⩽∣s∣⩽500000), denoting the current project of the camp's schedule.
The second line contains string t (1⩽∣t∣⩽500000), denoting the optimal schedule according to Gleb.
Strings s and t contain characters '0' and '1' only.
第一行包含字符串 s(1⩽∣s∣⩽500000),表示营地日程的当前方案。
第二行包含字符串 t(1⩽∣t∣⩽500000),表示 Gleb 认为的最优日程方案。
字符串 s 和 t 仅由字符 '0' 和 '1' 组成。
输出格式
In the only line print the schedule having the largest number of substrings equal to t. Printed schedule should consist of characters '0' and '1' only and the number of zeros should be equal to the number of zeros in s and the number of ones should be equal to the number of ones in s.
In case there multiple optimal schedules, print any of them.
在唯一的一行中输出具有最多等于 t 的子串数量的调度方案。输出的调度方案只能由字符 '0' 和 '1' 组成,且 '0' 的个数应等于 s 中 '0' 的个数,'1' 的个数应等于 s 中 '1' 的个数。
若存在多个最优调度方案,输出任意一个即可。
输入输出样例
输入#1
101101 110
输出#1
110110
输入#2
10010110 100011
输出#2
01100011
输入#3
10 11100
输出#3
01
说明/提示
In the first example there are two occurrences, one starting from first position and one starting from fourth position.
In the second example there is only one occurrence, which starts from third position. Note, that the answer is not unique. For example, if we move the first day (which is a day off) to the last position, the number of occurrences of t wouldn't change.
In the third example it's impossible to make even a single occurrence.
在第一个例子中,有两个匹配项,一个从第一个位置开始,另一个从第四个位置开始。
在第二个例子中,只有一个匹配项,它从第三个位置开始。注意,答案并不唯一。例如,如果我们把第一天(即休息日)移到最后一位,t 的匹配次数不会改变。
在第三个例子中,甚至无法构造出一个匹配项。
输入解题思路,AI测评打分。不知道怎么写?