Antrenament ONI · clasa a 10-a · clasa a 10-a
Ordinea înmulțirii matricelor (ONI 10)
Cerință
Trebuie calculat produsul a n matrice M1·M2·...·Mn, unde Mi are p[i−1] linii și p[i] coloane. Înmulțirea unei matrice a×b cu una b×c costă a·b·c operații. Alegând cum pui parantezele, care este costul minim total?
Problemă originală de antrenament în stil ONI (etapa națională), clasa a 10-a, nu este subiect oficial.
Date de intrare
Prima linie: n. A doua linie: p[0], p[1], ..., p[n].
Date de ieșire
Costul minim (long long). Nu afișa mesaje suplimentare.
Restricții
- 1 ≤ n ≤ 150
- 1 ≤ p[i] ≤ 100
- Sunt 20 de teste, fiecare valorează 5 puncte.
1 58 52
0
Datele exemplului respectă formatul de intrare. Aplicăm ideea: d[i][j] = costul minim pentru Mi..Mj = min peste k de d[i][k] + d[k+1][j] + p[i−1]·p[k]·p[j]. Calculează pe lungimi crescătoare. Rezultatul corect pentru acest exemplu este: 0.
1 26 72
0
Datele exemplului respectă formatul de intrare. Aplicăm ideea: d[i][j] = costul minim pentru Mi..Mj = min peste k de d[i][k] + d[k+1][j] + p[i−1]·p[k]·p[j]. Calculează pe lungimi crescătoare. Rezultatul corect pentru acest exemplu este: 0.
2 59 47 73
202429
Datele exemplului respectă formatul de intrare. Aplicăm ideea: d[i][j] = costul minim pentru Mi..Mj = min peste k de d[i][k] + d[k+1][j] + p[i−1]·p[k]·p[j]. Calculează pe lungimi crescătoare. Rezultatul corect pentru acest exemplu este: 202429.
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