AT_icpc2015summer_day2_f ほぼ周期文字列

题目描述

给定一个字符串 $S$,你需要处理 $Q$ 个查询。每个查询要求判断:能否通过修改 $S[l_i, r_i]$ 这个子串中的一个字符,使得其成为一个周期为 $t_i$ 的字符串。这里,$S[l, r]$ 表示字符串 $S$ 从第 $l$ 个字符到第 $r$ 个字符的子串。 如果一个字符串 $W$ 是周期为 $t$ 的,那么对于所有满足 $1 \leq i \leq |W| - t$ 的位置 $i$,都有 $W_i = W_{i+t}$。 ### 输入格式 从标准输入读取数据,格式如下: ``` S Q l_1 r_1 t_1 ... l_Q r_Q t_Q ``` ### 输出格式 对于每个查询,输出 `Yes` 或 `No`,共 $Q$ 行,用于表示是否可以通过修改一个字符使子串达到要求。 ### 数据范围与提示 - 字符串长度 $|S|$ 的范围是 $1 \leq |S| \leq 10^5$。 - 查询个数 $Q$ 的范围是 $1 \leq Q \leq 10^5$。 - 每个查询中的 $l_i$ 和 $r_i$ 满足 $1 \leq l_i \leq r_i \leq |S|$。 - 周期 $t_i$ 满足 $1 \leq t_i \leq r_i - l_i + 1$。 - 字符串 $S$ 仅由小写字母组成。 ### 示例 #### 输入 ``` abcabcaxcabc 4 1 9 3 8 12 3 1 4 2 2 3 2 ``` #### 输出 ``` Yes Yes No Yes ``` #### 输入 ``` isuruu 4 3 6 1 3 6 2 3 6 3 2 4 1 ``` #### 输出 ``` Yes Yes Yes No ``` **本翻译由 AI 自动生成**

输入格式

输出格式

说明/提示

### Constraints 文字列 $ S $ が与えられる。この文字列 $ S $ に対し、$ Q $ 個のクエリに答えよ。 $ i $ 番目のクエリでは、$ S[l_i,\ r_i] $ から1文字まで変えてよいとき、$ S[l_i,\ r_i] $ を周期 $ t_i $ の文字列にできるかどうかを判定せよ。$ S[l,\ r] $ は文字列 $ S $ の $ l $ 文字目から $ r $ 文字目までの部分文字列を表す。 文字列 $ W $ が周期 $ t $ の文字列であるとは、 $ i\ =\ 1,\2,\...\ ,\ |W|-t $ に対し、 $ W_{i}\ =\ W_{i+t} $ となることとする。 - - - - - - - $ 1\ \leq\ |S|\ \leq\ 10^5 $ - $ 1\ \leq\ Q\ \leq\ 10^5 $ - $ 1\ \leq\ l_i\ \leq\ r_i\ \leq\ |S| $ - $ 1\ \leq\ t_i\ \leq\ r_i-l_i+1 $ - $ S $はアルファベットの小文字のみからなる