#3888
PalSplit
Avem un vector de n
elemente naturale nenule. O operație constă în alegerea unei subsecvențe (elemente adiacente) palindromice și eliminarea ei din vector, în urma eliminării elementele rămase se vor restrânge. Care este numărul minim de operații necesar pentru a elimina toate elementele?
codeforces, Div1. #336
Problema | PalSplit | Operații I/O |
![]() |
---|---|---|---|
Limita timp | 0.05 secunde | Limita memorie |
Total: 2 MB
/
Stivă 1 MB
|
Id soluție | #56542183 | Utilizator | |
Fișier | palsplit.cpp | Dimensiune | 903 B |
Data încărcării | 24 Februarie 2025, 20:43 | Scor / rezultat | Eroare de compilare |
palsplit.cpp:1:21: warning: extra tokens at end of #include directive [enabled by default] #include <iostream> #include <vector> #include <unordered_map> ^ palsplit.cpp:9:1: error: 'unordered_map' does not name a type unordered_map<pii, int, hash_pii> memo; ^ palsplit.cpp:11:38: error: 'vector' does not name a type int solve(int left, int right, const vector<int>& arr) { if (left > right) return 0; if (left == right) return 1; pii key = {left, right}; if (memo.find(key) != memo.end()) return memo[key]; ^ palsplit.cpp:11:38: error: ISO C++ forbids declaration of 'parameter' with no type [-fpermissive] palsplit.cpp:11:44: error: expected ',' or '...' before '<' token int solve(int left, int right, const vector<int>& arr) { if (left > right) return 0; if (left == right) return 1; pii key = {left, right}; if (memo.find(key) != memo.end()) return memo[key]; ^ palsplit.cpp: In function 'int solve(int, int, int)': palsplit.cpp:11:144: error: 'memo' was not declared in this scope int solve(int left, int right, const vector<int>& arr) { if (left > right) return 0; if (left == right) return 1; pii key = {left, right}; if (memo.find(key) != memo.end()) return memo[key]; ^ palsplit.cpp:13:38: error: 'arr' was not declared in this scope int res = 1 + solve(left + 1, right, arr); ^ palsplit.cpp:21:1: error: 'memo' was not declared in this scope memo[key] = res; ^ palsplit.cpp: In function 'int main()': palsplit.cpp:26:31: error: 'vector' was not declared in this scope int main() { int n; cin >> n; vector<int> arr(n); for (int i = 0; i < n; i++) { cin >> arr[i]; } ^ palsplit.cpp:26:38: error: expected primary-expression before 'int' int main() { int n; cin >> n; vector<int> arr(n); for (int i = 0; i < n; i++) { cin >> arr[i]; } ^ palsplit.cpp:26:38: error: expected ';' before 'int' palsplit.cpp:26:88: error: 'arr' was not declared in this scope int main() { int n; cin >> n; vector<int> arr(n); for (int i = 0; i < n; i++) { cin >> arr[i]; } ^ palsplit.cpp:28:1: error: 'memo' was not declared in this scope memo.clear(); ^ palsplit.cpp:29:25: error: 'arr' was not declared in this scope cout << solve(0, n - 1, arr) << endl; ^
www.pbinfo.ro permite evaluarea a două tipuri de probleme:
Problema PalSplit face parte din prima categorie. Soluția propusă de tine va fi evaluată astfel:
Suma punctajelor acordate pe testele utilizate pentru verificare este 100. Astfel, soluția ta poate obține cel mult 100 de puncte, caz în care se poate considera corectă.