当前你的浏览器版本过低,网站已在兼容模式下运行,兼容模式仅提供最小功能支持,网站样式可能显示不正常。
请尽快升级浏览器以体验网站在线编辑、在线运行等功能。

建议使用的浏览器:

谷歌Chrome 火狐Firefox Opera浏览器 微软Edge浏览器 QQ浏览器 360浏览器 傲游浏览器

5745:La Vie en rose

题目描述
Professor Zhang would like to solve the multiple pattern matching problem, but he only has only one pattern string $p=p_{1}p_{2}...p_{m}$. So, he wants to generate as many as possible pattern strings from $p$ using the following method:

1. select some indices $i_1,i_2,...,i_k$ such that $1 \le i_1 < i_2 < ... < i_k <|p|$ and $|i_j-i_{j+1}| > 1$ for all $1 \le j < k$.
2. swap $p_{i_j}$ and $p_{i_j+1}$ for all $1 \le j \le k$.

Now, for a given a string $s=s_{1}s_{2}...s_{n}$, Professor Zhang wants to find all occurrences of all the generated patterns in $s$.
输入解释
There are multiple test cases. The first line of input contains an integer $T$, indicating the number of test cases. For each test case:

The first line contains two integers $n$ and $m$ $(1 \le n \le 10^5, 1 \le m \le \min\{5000, n\})$ -- the length of $s$ and $p$.

The second line contains the string $s$ and the third line contains the string $p$. Both the strings consist of only lowercase English letters.
输出解释
For each test case, output a binary string of length $n$. The $i$-th character is "1" if and only if the substring $s_{i}s_{i+1}...s_{i+m-1}$ is one of the generated patterns.
输入样例
3
4 1
abac
a
4 2
aaaa
aa
9 3
abcbacacb
abc
输出样例
1010
1110
100100100
来自杭电HDUOJ的附加信息
Author zimpha
Recommend wange2014

该题目是Virtual Judge题目,来自 杭电HDUOJ

源链接: HDU-5745

最后修改于 2020-10-25T23:25:18+00:00 由爬虫自动更新

共提交 0

通过率 --%
时间上限 内存上限
7000/3500MS(Java/Others) 65536/65536K(Java/Others)