Với hai mảng A
và B
, mỗi chứa n
số không âm, loại bỏ các yếu tố a>0
từ ngày kết thúc của A và b>0
yếu tố từ cuối B. Đánh giá chi phí của một hoạt động như X*Y
trong đó X
là tổng của các phần tử a
bị xóa khỏi các phần tử A
và Y
tổng các phần tử b
bị xóa khỏi B
. Tiếp tục làm điều này cho đến khi cả hai mảng trống. Mục đích là để giảm thiểu tổng chi phí.Với 2 mảng các số không âm, tìm tổng tối thiểu các sản phẩm
Sử dụng lập trình động và thực tế là chiến lược tối ưu sẽ luôn lấy chính xác một phần tử từ A
hoặc B
Tôi có thể tìm thấy giải pháp O (n^3). Bây giờ tôi tò mò muốn biết nếu có một giải pháp thậm chí còn nhanh hơn cho vấn đề này?
EDIT: Trộm cắp một ví dụ từ @recursive trong các ý kiến:
A = [1,9,1] và B = [1, 9, 1]. Có thể làm với chi phí 20. (1) * (1 + 9) + (9 + 1) * (1)
Theo tôi giải pháp nên chọn hai phần tử cuối cùng của mỗi mảng tổng hợp chúng rồi thêm. Trên). –
Nếu tôi sai thì xin vui lòng làm rõ báo cáo vấn đề cho tôi –
Theo tuyên bố của bạn, chúng tôi phải xóa từ cuối A và kết thúc B –