Acwing 841 字串雜湊 字首雜湊

2021-10-21 06:45:07 字數 929 閱讀 7785

給定乙個長度為n的字串,再給定m個詢問,每個詢問包含四個整數l1,r1,l2,r2,請你判斷[l1,r1]和[l2,r2]這兩個區間所包含的字串子串是否完全相同。

字串中只包含大小寫英文本母和數字。

輸入格式

第一行包含整數n和m,表示字串長度和詢問次數。

第二行包含乙個長度為n的字串,字串中只包含大小寫英文本母和數字。

接下來m行,每行包含四個整數l1,r1,l2,r2,表示一次詢問所涉及的兩個區間。

注意,字串的位置從1開始編號。

輸出格式

對於每個詢問輸出乙個結果,如果兩個字串子串完全相同則輸出「yes」,否則輸出「no」。

每個結果佔一行。

資料範圍

1≤n,m≤105

輸入樣例:

8 3aabbaabb

1 3 5 7

1 3 6 8

1 2 1 2

輸出樣例:

yesno

yes

#include

using

namespace std;

typedef

unsigned

long

long ull;

//2的64次方,是經驗值,防衝突

const

int n =

100010

, p =

131;

//131 or 13331,是經驗值,防衝突

int n, m;

char str[n]

;ull h[n]

, p[n]

;ull get

(int l,

int r)

intmain()

while

(m --

)return0;

}

AcWing 841 字串雜湊

題目描述 給定乙個長度為n的字串,再給定m個詢問,每個詢問包含四個整數l1,r1,l2,r2,請你判斷 l1,r1和 l2,r2這兩個區間所包含的字串子串是否完全相同。字串中只包含大小寫英文本母和數字。輸入格式 第一行包含整數n和m,表示字串長度和詢問次數。第二行包含乙個長度為n的字串,字串中只包含...

ACWing 841 字串雜湊

給定乙個長n nn的字串s ss,再給定m mm次詢問,每次詢問含四個整數l1,r1,l 2,r2 l 1,r 1,l 2,r 2 l1 r1 l2 r2 問s ss的兩個區間 l1 r1 l 1,r 1 l1 r 1 和 l2 r2 l 2,r 2 l2 r 2 的子串是否相等。如果相等輸出 ye...

AcWing 841 字串雜湊

給定乙個長度為n的字串,再給定m個詢問,每個詢問包含四個整數 l1,r1,l2,r2 請你判斷 l1,r1 和 l2,r2 這兩個區間所包含的字串子串是否完全相同。字串中只包含大小寫英文本母和數字。輸入格式 第一行包含整數n和m,表示字串長度和詢問次數。第二行包含乙個長度為n的字串,字串中只包含大小...