secvpal

Time limit: 0.6s Memory limit: 4MB Input: secvpal.in Output: secvpal.out

Pentru un şir de caractere SS, vom nota cu lmax[S]lmax[S] lungimea maximă a unei secvenţe palindromice conţinută în şirul SS. Astfel, pentru şirul S = abAabaabC, lmax[S]=4lmax[S]=4, iar pentru şirul S = a, lmax[S]=1lmax[S]=1. Prin secvenţa palindromică a unui şir SS înţelegem un subşir de caractere aflate pe poziţii consecutive, ce formează un palindrom.

Cerinţă

Date fiind NN şiruri de caractere S1,S2,,SnS_{1}, S_{2},…, S_{n} şi o valoare naturală LL, se cere să se determine numărul de secvenţe de şiruri de caractere de forma: Si,Si+1,,SjS_{i}, S_{i+1}, … , S_{j}, cu iji \leq j, pentru care lmax[Si]+lmax[Si+1]+...+lmax[Sj]=Llmax[S_{i}]+lmax[S_{i+1}]+ ... +lmax[S_{j}]=L.

Date de intrare

Fişierul de intrare secvpal.in conţine pe prima linie două numere naturale NN, LL cu semnificaţia din enunţ, iar pe fiecare dintre următoarele NN linii, câte un şir de caractere.

Date de ieșire

Fişierul de ieşire secvpal.out va conţine pe o singură linie un număr natural nr ce reprezintă numărul de secvenţe de şiruri de caractere ce îndeplinesc condiţia cerută.

Restricții și precizări

  • 2N50 0002 \leq N \leq 50 \ 000;
  • 0nr10 0000 \leq nr \leq 10 \ 000;
  • 11 \leq lungimea maximă a oricărui şir Si10 000S_{i} \leq 10 \ 000, 1iN1 \leq i \leq N;
  • 11 \leq lungimea maximă a unei secvenţe palindromice lmax(SiS_{i}) 1 000\leq 1 \ 000;
  • 1(lungimea maxima˘ s¸ir Si)×N1 000 0001 \leq (\text{lungimea maximă şir }S_{i}) \times N \leq 1 \ 000 \ 000;
  • Cele NN şiruri de caractere conţin doar caracterele A..Z,a..z;
  • Un palindrom este un şir de caractere care citit de la stânga la dreapta sau de la dreapta la stânga este acelaşi.

Exemplul 1

secvpal.in

5 11
aCCACCACaBa
AAPAPAACCAA
acaacc
capac
CACAACAACACCAACP

secvpal.out

2

Explicație

  1. lmax(aCCACCACaBa)=6lmax(”aCCACCACaBa”)=6
  2. lmax(AAPAPAACCAA)=7lmax(”AAPAPAACCAA”)=7
  3. lmax(acaacc)=4lmax(”acaacc”)=4
  4. lmax(capac)=5lmax(”capac”)=5
  5. lmax(CACAACAACACCAACP)=11lmax(”CACAACAACACCAACP”)=11

Cele două secvenţe de lungime 1111 sunt: 2,32,3 şi 55

Log in or sign up to be able to send submissions!