F.A.Q
Hand In Hand
Online Acmers
Problem Archive
Realtime Judge Status
Authors Ranklist
 
     C/C++/Java Exams     
ACM Steps
Go to Job
Contest LiveCast
ICPC@China
Best Coder beta
VIP | STD Contests
    DIY | Web-DIY beta
Author ID 
Password 
 Register new ID

重叠的子串

Time Limit: 20000/10000 MS (Java/Others)    Memory Limit: 524288/524288 K (Java/Others)
Total Submission(s): 359    Accepted Submission(s): 82


Problem Description
给定一个只含小写字母的字符串 $s$ 和 $q$ 次询问,每次询问给定一个字符串,以 $s[l .. r]$ 的形式给出,判断 $s$ 中是否存在两个或多个出现的有重叠部分的给定子串。比如在 “ababa” 中,两个 “aba” 子串就重叠于中间的字母 “a”,而两个 “ab” 子串就没有发生重叠。$T$ 组数据。
 

Input
第一行一个正整数 $T(1\le T \le 20)$,表示数据组数。

对于每组数据:

第一行两个整数 $n,q\,(1\le n \le 10^5, 1\le q \le 10^6)$,表示给定字符串的长度及询问个数。

第二行一个长度为 $n$,且只包含小写字母的字符串 $s$。

接下来 $q$ 行,每行两个整数 $l,r\,(1\le l \le r \le n)$,表示一次询问。

保证所有数据的 $\sum n \le 6\times 10^5, \sum q \le 3\times 10^6$。
 

Output
对于每组数据:

输出共 $q$ 行,每行一个字符串 “Yes” 或者 “No”(均不含引号),分别表示存在以及不存在有重叠部分的多个子串 $s[l .. r]$。
 

Sample Input
2 10 3 georgeorge 1 5 1 4 5 10 18 5 huaweihuaweihuawei 1 2 3 6 7 11 12 18 1 18
 

Sample Output
Yes No Yes No No No Yes No
 

Source
 

Statistic | Submit | Discuss | Note
Hangzhou Dianzi University Online Judge 3.0
Copyright © 2005-2024 HDU ACM Team. All Rights Reserved.
Designer & Developer : Wang Rongtao LinLe GaoJie GanLu
Total 0.000000(s) query 1, Server time : 2024-03-29 09:36:30, Gzip enabled