Universal Cup Judging System

Universal Cup

Time Limit: 2.0 s Memory Limit: 1024 MB Total points: 100 Hackable ✓
Statistics

En sträng $t$ av längd $k$ bestående av små bokstäver kallas en CCPC-sträng (Character-Character-Palindrome-Character) om och endast om följande villkor är uppfyllda:

  • $k \ge 4$;
  • $t_1 = t_2 = t_k$;
  • $t_3 t_4 \dots t_{k-1}$ är ett palindrom.

En sträng av längd $m$ är ett palindrom om och endast om det för alla $1 \le i \le m$ gäller att det $i$-te tecknet i strängen är lika med det $(m - i + 1)$-te tecknet i strängen.

Till exempel är ccpc, ppap, zzzz och aabcddcba CCPC-strängar, medan jinan, aaa och oovoo inte är det.

En delsträng av en sträng $s$ kan representeras av ett par heltal $(l, r)$ som uppfyller $1 \le l \le r \le |s|$, vilket motsvarar strängen $s_l s_{l+1} \dots s_r$. Två delsträngar betraktas som olika om och endast om de valda indexparen $(l, r)$ inte är desamma. Givet en sträng $s$ bestående av små bokstäver, beräkna först antalet CCPC-delsträngar i $s$. Därefter utförs $n$ operationer, där varje operation infogar en liten bokstav till vänster eller till höger om $s$. Du ska bestämma antalet CCPC-delsträngar i $s$ efter varje infogning.

Indata

Den första raden innehåller ett heltal $T$ ($1 \le T \le 100$), som anger antalet testfall.

För varje testfall innehåller den första raden en sträng $s$ ($4 \le |s| \le 5 \times 10^5$) bestående av små bokstäver, som representerar den ursprungliga strängen.

Den andra raden innehåller ett heltal $n$ ($1 \le n \le 5 \times 10^5$), som anger antalet operationer.

Den tredje raden innehåller $n$ strängar av längd $2$, $c_1, c_2, \dots, c_n$, separerade med mellanslag, som representerar operationerna i kronologisk ordning. För varje sträng $c_i$ är det första tecknet antingen L eller R, vilket anger att infogningen sker till vänster respektive till höger om $s$, och det andra tecknet är en liten bokstav som anger tecknet som ska infogas.

Det garanteras att varken summan av $|s|$ eller summan av $n$ över alla testfall överstiger $5 \times 10^5$.

Utdata

För varje testfall, skriv ut en enda rad som innehåller $n + 1$ heltal separerade med mellanslag. Det första heltalet representerar svaret för den ursprungliga strängen, och det $(i + 1)$-te heltalet ($1 \le i \le n$) representerar svaret efter de första $i$ operationerna.

Exempel

Indata

2
iloveccpc
6
Rj Ri Ln La Ln Ln
cpcpccp
9
Lc Lc Rp Rc Lc Lc Rp Rp Rc

Utdata

1 1 1 1 1 1 2
0 2 3 3 4 5 7 8 8 9

Notering

För det andra testfallet blir $s$ efter alla operationer cccccpcpccppcppc. Dess CCPC-delsträngar inkluderar: $s_{1\dots4} = \text{cccc}$, $s_{1\dots5} = \text{ccccc}$, $s_{2\dots5} = \text{cccc}$, $s_{3\dots10} = \text{cccpcpcc}$, $s_{4\dots7} = \text{ccpc}$, $s_{4\dots9} = \text{ccpcpc}$, $s_{9\dots13} = \text{ccppc}$, $s_{9\dots16} = \text{ccppcppc}$, $s_{11\dots14} = \text{ppcp}$.

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.