CF873F.Forbidden Indices
提高+/省选-
通过率:0%
时间限制:2.00s
内存限制:256MB
AC君温馨提醒
该题目为【codeforces】题库的题目,您提交的代码将被提交至codeforces进行远程评测,并由ACGO抓取测评结果后进行展示。由于远程测评的测评机由其他平台提供,我们无法保证该服务的稳定性,若提交后无反应,请等待一段时间后再进行重试。
题目描述
You are given a string s consisting of n lowercase Latin letters. Some indices in this string are marked as forbidden.
You want to find a string a such that the value of |a|·f(a) is maximum possible, where f(a) is the number of occurences of a in s such that these occurences end in non-forbidden indices. So, for example, if s is aaaa, a is aa and index 3 is forbidden, then f(a) = 2 because there are three occurences of a in s (starting in indices 1, 2 and 3), but one of them (starting in index 2) ends in a forbidden index.
Calculate the maximum possible value of |a|·f(a) you can get.
给你一个由 n 个小写拉丁字母组成的字符串 s。该字符串中某些下标被标记为禁止位置。
你需要找到一个字符串 a,使得 ∣a∣⋅f(a) 的值尽可能大,其中 f(a) 表示 a 在 s 中的所有出现次数中,以非禁止下标结尾的那些出现的个数。例如,若 s=aaaa,a=aa,且下标 3(从 0 开始计数?注意:原文示例中“starting in index 2 ends in a forbidden index”暗示使用从 1 开始的下标)被禁止,则 f(a)=2,因为 a 在 s 中共有三次出现(起始下标分别为 1、2 和 3),但其中一次(起始于下标 2)结束于禁止下标(即结束下标为 3)。
请计算你能得到的最大可能值 ∣a∣⋅f(a)。
输入格式
The first line contains an integer number n (1 ≤ n ≤ 200000) — the length of s.
The second line contains a string s, consisting of n lowercase Latin letters.
The third line contains a string t, consisting of n characters 0 and 1. If i-th character in t is 1, then i is a forbidden index (otherwise i is not forbidden).
第一行包含一个整数 $ n ( 1 \leq n \leq 200000 $)——字符串 $ s $ 的长度。
第二行包含一个字符串 $ s $,由 $ n $ 个小写拉丁字母组成。
第三行包含一个字符串 $ t $,由 $ n $ 个字符 0 和 1 组成。若 $ t $ 中第 $ i $ 个字符为 1,则下标 $ i $ 是一个被禁止的索引(否则 $ i $ 不被禁止)。
输出格式
Print the maximum possible value of |a|·f(a).
输出 ⌊a⌋⋅f(a) 的最大可能值。
输入输出样例
输入#1
5 ababa 00100
输出#1
5
输入#2
5 ababa 00000
输出#2
6
输入#3
5 ababa 11111
输出#3
0
输入解题思路,AI测评打分。不知道怎么写?