题目译自 2020년도 국제정보올림피아드 대표학생 선발고사 - 1차 선발고사 T1「 문자열 찾기」
题目描述
对于由小写英文字母组成的两个字符串 $A$ 和 $B$,当满足以下条件时,称这两个字符串实际上相同:
- $A$ 和 $B$ 的长度相同。
- 对于所有可能的整数 $i$ 和 $j$,如果 $A$ 的第 $i$ 个字符和第 $j$ 个字符相同,则 $B$ 的第 $i$ 个字符和第 $j$ 个字符也相同。
- 对于所有可能的整数 $i$ 和 $j$,如果 $A$ 的第 $i$ 个字符和第 $j$ 个字符不同,则 $B$ 的第 $i$ 个字符和第 $j$ 个字符也不同。
例如,$A=a b a$ 和 $B=p q p$ 是实际上相同的字符串。但是,$A=a b c a$ 和 $B=a b c b$ 不是实际上相同的字符串。
编写一个程序,你将会得到字符串 $T$ 和 $P$,计算 $T$ 的连续子字符串中与 $P$ 实际上相同的子字符串的数量。
例如,$T=a b a b a b b a b$ 和 $P=p q p$,$T$ 中从左到右的子字符串 $a b a, b a b, a b a, b a b, b a b$ 有 $5$ 个与 $P$ 实际上相同。
输入格式
示例评测程序按以下格式读取输入:
- 第 $1$ 行:字符串 $T$
- 第 $2$ 行:字符串 $P$
输出格式
一个整数,表示$T$ 的连续子字符串中与 $P$ 实际上相同的子字符串的数量。
输入输出样例 #1
输入 #1
abababbab
pqp
输出 #1
5
说明/提示
数据范围
对于所有输入数据,满足:
- $1 \leq N \leq 10^6$
- $1 \leq M \leq N$
分数设置没有按照下面的子任务,样例都有,但是分值可能不一样。
详细子任务附加限制及分值如下表所示。
| Subtask | 分值 | 约束 |
|---|---|---|
| $1$ | $8$ | $N=M$ |
| $2$ | $5$ | $1 \leq N \leq 100$ |
| $3$ | $12$ | $1 \leq N \leq 2,000$ |
| $4$ | $75$ | 无附加限制 |
