Multiplicació òptima de matrius

Donades dues matrius amb dimensions n₁ × n₂ i n₂ × n₃, el cost de
l’algorisme habitual per multiplicar-les és Θ(n₁n₂n₃). Per senzillesa,
considerem que el cost és exactament n₁n₂n₃.

Suposem que hem de calcular M₁ × … × M_(m), on cadascuna de les M_(i) és
una matriu amb dimensions n_(i) × n_(i + 1). Com que el producte de
matrius és associatiu, es pot triar en quin ordre es fan les
multiplicacions. Per exemple, per calcular M₁ × M₂ × M₃ × M₄, es podria
fer (M₁ × M₂) × (M₃ × M₄), amb cost n₁n₂n₃ + n₃n₄n₅ + n₁n₃n₅, o bé
M₁ × ((M₂ × M₃) × M₄), amb cost n₂n₃n₄ + n₂n₄n₅ + n₁n₂n₅, o bé tres
altres ordres possibles.

Feu un programa que trobi el cost mínim de calcular M₁ × … × M_(m).

Entrada

L’entrada consisteix en diversos casos, cadascun amb m seguit de les
m + 1 dimensions. Suposeu 2 ≤ m ≤ 100 i 1 ≤ n_(i) ≤ 10⁴.

Sortida

Per a cada cas, escriviu el cost mínim de calcular el producte de les m
matrius.

Informació del problema

Autoria: Salvador Roura

Generació: 2026-01-25T09:58:35.622Z

© Jutge.org, 2006–2026.
https://jutge.org
