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 ss, which can be represented as a binary string, in which the ii-th symbol is '1' if students will write the contest in the ii-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 tt (which can be described in the same format as schedule ss). Since the number of days in the current may be different from number of days in schedule tt, Gleb required that the camp's schedule must be altered so that the number of occurrences of tt 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?

全国闻名的春季编程训练营即将开营。因此,所有友善的组织者与讲师团队开始共同制定训练营的日程表。经过连续讨论,他们最终确定了日程表 ss,该日程表可用一个二进制字符串表示:其中第 ii 个字符为 '1' 表示学生在第 ii 天参加比赛,为 '0' 表示第 ii 天休息。

就在最后时刻,格列布(Gleb)提出:若训练营按日程表 tt(格式同 ss)运行,则效果将最为高效。由于当前日程表的天数可能与日程表 tt 的天数不同,格列布要求对当前日程表进行调整,使得 tt 作为子串在调整后的日程表中出现的次数尽可能多。同时,比赛日与休息日的总天数均不得改变,仅可调整它们的顺序。

你能否以最优方式重排该日程表?

输入格式

The first line contains string ss (1⩽∣s∣⩽500 0001 \leqslant |s| \leqslant 500\,000), denoting the current project of the camp's schedule.

The second line contains string tt (1⩽∣t∣⩽500 0001 \leqslant |t| \leqslant 500\,000), denoting the optimal schedule according to Gleb.

Strings ss and tt contain characters '0' and '1' only.

第一行包含字符串 ss(1⩽∣s∣⩽500 0001 \leqslant |s| \leqslant 500\,000),表示营地日程的当前方案。

第二行包含字符串 tt(1⩽∣t∣⩽500 0001 \leqslant |t| \leqslant 500\,000),表示 Gleb 认为的最优日程方案。

字符串 ss 和 tt 仅由字符 '0' 和 '1' 组成。

输出格式

In the only line print the schedule having the largest number of substrings equal to tt. Printed schedule should consist of characters '0' and '1' only and the number of zeros should be equal to the number of zeros in ss and the number of ones should be equal to the number of ones in ss.

In case there multiple optimal schedules, print any of them.

在唯一的一行中输出具有最多等于 tt 的子串数量的调度方案。输出的调度方案只能由字符 '0' 和 '1' 组成,且 '0' 的个数应等于 ss 中 '0' 的个数,'1' 的个数应等于 ss 中 '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 tt wouldn't change.

In the third example it's impossible to make even a single occurrence.

在第一个例子中,有两个匹配项,一个从第一个位置开始,另一个从第四个位置开始。

在第二个例子中,只有一个匹配项,它从第三个位置开始。注意,答案并不唯一。例如,如果我们把第一天(即休息日)移到最后一位,tt 的匹配次数不会改变。

在第三个例子中,甚至无法构造出一个匹配项。

输入解题思路,AI测评打分。不知道怎么写?

首页