trang chủ / đề bài / icpc22_mn_j

Không phải bài toán xâu kinh điển

Đề bài

Mô tả

Có một bài toán xâu kinh điển: cho hai xâu A và B, hãy đếm số lần xâu A xuất hiện trong xâu B.

Tiến sĩ Hùng không muốn bài toán dễ như vậy, nên ông cho bạn hai xâu S, T và q truy vấn. Mỗi truy vấn gồm hai cặp chỉ số (i,j) và (u,v). Với mỗi truy vấn, Tiến sĩ Hùng hỏi số lần xâu X=SiSi+1…Sj xuất hiện trong xâu Y=TuTu+1…Tv.

Một lần xuất hiện của X trong Y là một vị trí bắt đầu trong Y mà từ đó |X| ký tự liên tiếp của Y trùng với X; các lần xuất hiện được phép chồng lên nhau.

Dữ liệu vào

  • Dòng đầu tiên chứa xâu S.
  • Dòng thứ hai chứa xâu T.
  • Dòng thứ ba chứa số nguyên q.
  • q dòng tiếp theo, mỗi dòng chứa bốn số nguyên i, j, u, v.

Dữ liệu ra

In ra q dòng, mỗi dòng chứa một số nguyên là số lần xuất hiện tương ứng với truy vấn.

Ràng buộc

  • 1≤|S|≤2×105, 1≤|T|≤2×105.
  • S và T chỉ gồm chữ cái Latin thường.
  • 1≤q≤5×105.
  • 1≤i≤j≤|S|, 1≤u≤v≤|T| (các chỉ số đánh số từ 1).

Ví dụ

Input Output Giải thích
abb
ababababb
5
1 2 1 7
2 3 2 9
3 3 4 7
1 2 2 4
1 1 1 9
3
1
2
1
4
Truy vấn 1: X= "ab", Y= "abababa", "ab" xuất hiện 3 lần. Truy vấn 2: X= "bb", Y= "babababb", xuất hiện 1 lần. Truy vấn 5: X= "a" xuất hiện 4 lần trong cả xâu T.
aab
aaab
3
1 2 1 4
1 3 1 3
2 3 2 4
2
0
1
Ví dụ bổ sung (không có trong đề gốc). Truy vấn 1: "aa" xuất hiện 2 lần (chồng lên nhau) trong "aaab". Truy vấn 2: "aab" không nằm trọn trong "aaa".

Bình luận

Không có bình luận tại thời điểm này.

gnatmake 12.2.0 a68g 3.1.2 nasm 2.16.1 as_x64 2.47 awk 1.3.4 gcc 16.2.0 dotnet 10.0.402 g++ 16.2.0 g++-themis 16.2.0 g++17 16.2.0 g++20 16.2.0 g++23 16.2.0 clang++ 22.1.8 dmd 2.113.0 dart 3.13.6 gforth 0.7.3 gfortran 15.3.0 go 1.27.3 groovyc 5.1.3 javac 26.0.2.1 node 26.12.1 julia 1.13.2 kotlinc 2.4.21 lean 4.35.0 sbcl 2.2.9 lua 5.5.1 nim 2.2.12 fpc 3.2.2 fpc-themis 3.2.2 perl 5.42.3 php 8.5.12 pike 8.0 swipl 9.0.4 pypy3 7.3.23 python3 3.15.1 racket 8.7 ruby 4.0.8 rustc 1.99.1 csc 5.3.0 ctoj-scratch 0.0.1 sed 4.9 swiftc 6.4.1 tclsh 8.6 bun 1.4.4 deno 2.9.8 v 0.5.2 zig 0.17.0