Nhân ma trận

Xem dạng PDF

Gửi bài giải

Điểm: 1,00 (OI)
Giới hạn thời gian: 1.0s
Giới hạn bộ nhớ: 256M
Input: stdin
Output: stdout

Dạng bài

Cho dãy ~n~ ma trận liên tiếp, trong đó ma trận thứ ~i~ có kích thước ~a_i \times a_{i+1}~. Vì phép nhân ma trận có tính kết hợp, ta có thể chọn thứ tự đặt dấu ngoặc khác nhau khi nhân toàn bộ dãy ma trận, và số phép nhân vô hướng cần thực hiện có thể khác nhau. Hãy tính số phép nhân ít nhất cần dùng để nhân hết dãy ma trận này.

Yêu cầu

Tìm giá trị nhỏ nhất của tổng số phép nhân vô hướng cần thực hiện để tính tích của ~n~ ma trận đã cho.

Dữ liệu

  • Dòng đầu chứa số nguyên dương ~n~.
  • Dòng thứ hai chứa ~n+1~ số nguyên dương ~a_1, a_2, \ldots, a_{n+1}~.
  • Ma trận thứ ~i~ có ~a_i~ dòng và ~a_{i+1}~ cột.

Kết quả

In ra một số nguyên duy nhất là số phép nhân ít nhất cần thực hiện.

Ví dụ

Ví dụ 1

Input

3
4 3 5 3

Output

81

Giải thích

Ví dụ 1

Có ~3~ ma trận với kích thước lần lượt là ~4 \times 3~, ~3 \times 5~, ~5 \times 3~.

  • Nếu nhân theo thứ tự ~((A \times B) \times C)~ thì số phép nhân là ~4 \times 3 \times 5 + 4 \times 5 \times 3 = 120~.
  • Nếu nhân theo thứ tự ~(A \times (B \times C))~ thì số phép nhân là ~3 \times 5 \times 3 + 4 \times 3 \times 3 = 81~.

Do đó đáp án là ~81~.

Lưu ý: trong ví dụ trên, sau khi tính ~(B \times C)~, ma trận thu được có kích thước ~3 \times 3~.

Ràng buộc và chấm điểm

Ràng buộc
  • ~1 \le n \le 500~
  • ~1 \le a_i \le 1000~

Bình luận

Hãy đọc nội quy trước khi bình luận.


Không có bình luận tại thời điểm này.