Pregătire XI–XII · clasa a 11-a
Cel mai lung subșir palindrom
Cerință
Se dă un cuvânt. Afișează lungimea celui mai lung subșir al lui (litere nu neapărat alăturate, în ordinea inițială) care se citește la fel de la stânga la dreapta și de la dreapta la stânga.
Problemă originală de antrenament, nu este subiect oficial.
Date de intrare
Pe prima linie: cuvântul.
Date de ieșire
Lungimea maximă. Nu afișa mesaje suplimentare.
Restricții
- 1 ≤ lungime ≤ 2000
- Sunt 20 de teste, fiecare valorează 5 puncte.
a
1
Datele exemplului respectă formatul de intrare. Aplicăm ideea: d[i][j] pentru bucata dintre i și j: dacă capetele sunt egale, d[i+1][j−1]+2; altfel max(d[i+1][j], d[i][j−1]). Rezultatul corect pentru acest exemplu este: 1.
ba
1
Datele exemplului respectă formatul de intrare. Aplicăm ideea: d[i][j] pentru bucata dintre i și j: dacă capetele sunt egale, d[i+1][j−1]+2; altfel max(d[i+1][j], d[i][j−1]). Rezultatul corect pentru acest exemplu este: 1.
baaa
3
Datele exemplului respectă formatul de intrare. Aplicăm ideea: d[i][j] pentru bucata dintre i și j: dacă capetele sunt egale, d[i+1][j−1]+2; altfel max(d[i+1][j], d[i][j−1]). Rezultatul corect pentru acest exemplu este: 3.
Probleme similare pe PbInfo
Exersează aceeași tehnică și pe PbInfo — acolo găsești și soluții oficiale.
- #1512 Mars — șmenul lui Mars
- #3844 KSum — SSM cu lungime minimă
- #2921 SumeSecv1 — sume parțiale
- #237 Sume — sume parțiale
- #3659 SumMaxSecv — suma costurilor
- #4205 SecvSumS — secvență de sumă S
- #3941 CountSumS — perechi de sumă S
- #4532 SumOfAll — suma subsecvențelor
- #1879 platou2 — secvență crescătoare
- #1639 Secvente3 — ONI 2013
- #2301 secv — ONI gimnaziu 2016
- #2510 vsecvente — lot juniori
- #1090 Secvente2
- #4423 secv2
- #3163 SecvMaxVal
- #334 secventa1 — clasice
- #50 secvmax — secvența de sumă maximă
- #315 secventa
- #190 secvk — secvențe de lungime k
- #217 platou1 — platouri