Mật Mã Đa Vũ Trụ

Xem PDF



Tác giả:
Dạng bài
Ngôn ngữ cho phép
Assembly, Awk, C, C#, C++, Clang, Cobol, D, Groovy, Haskell, JS, Java, Kotlin, Lua, Node JS, OCaml, ObjectiveC, Output, PHP, Pascal, Perl, Prolog, Pypy, Pypy 3, Python, Ruby, Rust, Scala, Scratch, Swift
Điểm: 2500 Thời gian: 0.5s Bộ nhớ: 512M Input: bàn phím Output: màn hình

Cơ quan an ninh không gian mạng thu thập được một chuỗi tín hiệu mã hóa \(S\) bao gồm các chữ cái in thường. Để giải mã, họ cần phân tích sự đa dạng của các mẫu tín hiệu con trong các khoảng thời gian khác nhau.
Bạn được yêu cầu trả lời \(Q\) truy vấn độc lập. Mỗi truy vấn cung cấp hai số nguyên \(L\)\(R\), bạn cần tính xem có bao nhiêu chuỗi con phân biệt (distinct substrings) nằm trọn vẹn trong đoạn \(S[L \dots R]\).

Input

  • Dòng đầu tiên chứa chuỗi \(S\) có độ dài \(N\).
  • Dòng thứ hai chứa số nguyên dương \(Q\) là số lượng truy vấn.
  • \(Q\) dòng tiếp theo, mỗi dòng chứa hai số nguyên \(L\)\(R\) mô tả một truy vấn.
  • \(1 \le N, Q \le 10^5\)
  • \(1 \le L \le R \le N\)

Output

  • In ra \(Q\) dòng, mỗi dòng là một số nguyên duy nhất — số lượng chuỗi con phân biệt của đoạn \(S[L \dots R]\).

Example

Test 1

Input
ababa
4
1 5
2 4
1 3
3 5
Output
9
5
5
5

Bình luận

Mới nhất
Tải bình luận...

Không có bình luận nào.