AT_abc307_h [ABC307Ex] Marquee

题目描述

有一个长度为 $L$ 的字符串 $S$,由英文字母大写和小写字母组成,显示在宽度为 $W$ 的电子显示屏上。$S$ 会以每次向左滚动一个字符宽度的方式在显示屏上切换显示。 当 $S$ 的最后一个字符从左端消失的同时,$S$ 的第一个字符会从右端出现,整个过程以 $L+W-1$ 为周期重复。 例如,当 $W=5$,$S=$ `ABC` 时,显示屏的显示状态依次为: - `ABC..` - `BC...` - `C....` - `....A` - `...AB` - `..ABC` - `.ABC.` 共 $7$ 种状态不断循环显示。(其中 `.` 表示该位置没有字符显示) 更严格地说,对于每个 $k=0,\ldots,L+W-2$,定义如下不同的显示状态: - 用 $f(x)$ 表示 $x$ 除以 $L+W-1$ 的余数。对于显示屏从左到右的第 $(i+1)$ 个位置,如果 $f(i+k)

输入格式

输入为一行,格式如下: > $L$ $W$ $S$ $P$

输出格式

输出一个整数,表示满足条件的状态数量。

说明/提示

## 限制 - $1 \leq L \leq W \leq 3\times 10^5$ - $L,W$ 为整数 - $S$ 为仅由英文字母大写和小写组成的长度为 $L$ 的字符串 - $P$ 为仅由英文字母大写、小写、`.`、`_` 组成的长度为 $W$ 的字符串 ## 样例解释 1 当显示屏显示为 `....A`、`...AB`、`..ABC` 时,共有 $3$ 种状态符合条件。 由 ChatGPT 4.1 翻译