QOJ.ac

QOJ

Süre Sınırı: 1 s Bellek Sınırı: 512 MB Toplam puan: 100 Zorluk: [göster] Hack'lenebilir ✓

#6759. Napis

İstatistikler

小 Y jest studentem i ostatnio bada problemy dotyczące napisów.

Poznał następujące definicje:

  • Dla napisu $s[1:n]$ o długości $n$ jego fragment $s[l:r]$ ($1 \le l \le r \le n$) to nowy napis utworzony przez połączenie kolejno znaków $s[l],s[l+1],\ldots,s[r]$.
  • Dla napisu $s[1:n]$ o długości $n$ jego odwrócenie $R(s)$ to połączenie kolejno znaków $s[n],s[n-1],\ldots,s[1]$, czyli napis zapisany w odwrotnej kolejności.
  • Dla dwóch napisów $a[1:n],b[1:n]$ o długości $n$ definiujemy, że $a$ jest leksykograficznie mniejsze od $b$ wtedy i tylko wtedy, gdy istnieje $1 \le i \le n$, takie że dla każdego $1 \le j < i$ zachodzi $a[j]=b[j]$ oraz $a[i]<b[i]$.

Po poznaniu tych definicji 小 Y wymyślił następujący problem:

Dany jest napis $s[1:n]$ o długości $n$ oraz $q$ zapytań. Każde zapytanie podaje dwa parametry $i,r$. Należy obliczyć, ile wartości $l$ spełnia następujące warunki:

  • $1 \le l \le r$.
  • $s[i:i+l-1]$ jest leksykograficznie mniejsze od $R(s[i+l:i+2l-1])$.

小 Y prosi cię o pomoc w rozwiązaniu tego problemu.

Wejście

Dane należy odczytać z pliku string.in.

Zadanie zawiera wiele zestawów danych.

Pierwszy wiersz wejścia zawiera dwie liczby całkowite $c,t$, oznaczające numer testu i liczbę zestawów danych. $c=0$ oznacza przykład.

Następnie podane są kolejno zestawy danych. Każdy z nich ma następującą postać:

Pierwszy wiersz zawiera dwie dodatnie liczby całkowite $n,q$, oznaczające długość napisu i liczbę zapytań.

Drugi wiersz zawiera napis $s$ o długości $n$, złożony wyłącznie z małych liter.

Każdy z następnych $q$ wierszy zawiera dwie dodatnie liczby całkowite $i,r$, opisujące jedno zapytanie. Zagwarantowano $i+2r-1 \le n$.

Wyjście

Wynik należy zapisać do pliku string.out.

Dla każdego zapytania w każdym zestawie danych wypisz jeden wiersz z jedną liczbą całkowitą: liczbą wartości $l$ spełniających warunki.

Przykład

Wejście 1

0 2
9 3
abacababa
1 4
2 4
3 3
9 3
abaabaaba
1 4
2 4
3 3

Wyjście 1

4
0
3
2
0
2

Uwagi

Dla pierwszego zapytania w pierwszym zestawie danych:

  • Gdy $l=1$, $s[i:i+l-1]=\mathtt{a}$, $R(s[i+l:i+l+l-1])=\mathtt{b}$.
  • Gdy $l=2$, $s[i:i+l-1]=\mathtt{ab}$, $R(s[i+l:i+l+l-1])=\mathtt{ca}$.
  • Gdy $l=3$, $s[i:i+l-1]=\mathtt{aba}$, $R(s[i+l:i+l+l-1])=\mathtt{bac}$.
  • Gdy $l=4$, $s[i:i+l-1]=\mathtt{abac}$, $R(s[i+l:i+l+l-1])=\mathtt{baba}$.

We wszystkich czterech przypadkach $s[i:i+l-1]$ jest leksykograficznie mniejsze od $R(s[i+l:i+2l-1])$, więc odpowiedź wynosi $4$.

Przykład 2

Zobacz pliki string/string2.in i string/string2.ans w katalogu zawodnika.

Zakres danych tego przykładu spełnia ograniczenia testu 5.

Przykład 3

Zobacz pliki string/string3.in i string/string3.ans w katalogu zawodnika.

Przykład 4

Zobacz pliki string/string4.in i string/string4.ans w katalogu zawodnika.

Zakres danych tego przykładu spełnia ograniczenia testów $24 \sim 25$.

Ograniczenia

Dla wszystkich danych testowych zagwarantowano: $1 \le t \le 5$, $1 \le n \le 10^5$, $1 \le q \le 10^5$, $1 \le i+2r-1 \le n$, a napis $s$ zawiera wyłącznie małe litery.

Numer testu $n$ $q$ Właściwość szczególna
1 $\le 5$ $\le 5$ A.h=5
2 $\le 10$ $\le 10$
3 $\le 20$ $\le 20$
4 $\le 50$ $\le 50$
5 $\le 10^2$ $\le 10^2$
6 $\le 10^3$ $\le 10^3$ Brak.h=4
7 $\le 2\,000$ $\le 2\,000$
8 $\le 3\,000$ $\le 3\,000$
9 $\le 4\,000$ $\le 4\,000$
10 $\le 23\,333$ $\le 23\,333$ A.h=5
11 $\le 5 \times 10^4$ $\le 5 \times 10^4$
12 $\le 75\,000$ $\le 75\,000$
13 $\le 9 \times 10^4$ $\le 9 \times 10^4$
14 $\le 10^5$ $\le 10^5$
15 $\le 23\,333$ $\le 23\,333$ B.h=4
16 $\le 75\,000$ $\le 75\,000$
17 $\le 9 \times 10^4$ $\le 9 \times 10^4$
18 $\le 10^5$ $\le 10^5$
19 $\le 23\,333$ $\le 23\,333$ Brak.h=7
20 $\le 5 \times 10^4$ $\le 5 \times 10^4$
21 $\le 75\,000$ $\le 75\,000$
22 $\le 9 \times 10^4$ $\le 9 \times 10^4$
23 $\le 95\,000$ $\le 95\,000$
24 $\le 10^5$.h=2 $\le 10^5$.h=2
25
  • Właściwość szczególna A: napis zawiera wyłącznie znaki a i b, a każdy znak wybierany jest niezależnie i z jednakowym prawdopodobieństwem spośród a i b.
  • Właściwość szczególna B: sąsiednie znaki w napisie są różne.

Discussions

About Discussions

The discussion section is only for posting: General Discussions (problem-solving strategies, alternative approaches), and Off-topic conversations.

This is NOT for reporting issues! If you want to report bugs or errors, please use the Issues section below.

Open Discussions 0
No discussions in this category.

Issues

About Issues

If you find any issues with the problem (statement, scoring, time/memory limits, test cases, etc.), you may submit an issue here. A problem moderator will review your issue.

Guidelines:

  1. This is not a place to publish discussions, editorials, or requests to debug your code. Issues are only visible to you and problem moderators.
  2. Do not submit duplicated issues.
  3. Issues must be filed in English or Chinese only.
Active Issues 0
No issues in this category.
Closed/Resolved Issues 0
No issues in this category.