Dynamic programming - rod cutting (Quy hoạch động) Hãy xem bài toán đơn giản sau: Có một thanh thép dài n = 10 mét Có thể bán thanh thép với độ dài và giá tương ứng theo bảng sau: Độ dài 1 2 3 4 5 6 7 8 9 10 Giá 1 5 8 9 10 17 17 20 24 30 Thanh độ dài 1: giá 1$ Thanh độ dài 2: giá 5$ .... Thanh độ dài 10: giá 30$ Câu hỏi đặt ra là: chúng ta nên cắt thanh thép như thế nào để có được số tiền lớn nhất? Chúng ta có thể dễ dàng giải quyết bài toán với độ dài n=1,2,3 R1 = 1 R2 = 5 R3 = 8 Với n=4 chúng ta có 8 cách cắt như sau: 4 thanh độ dài = 1, R4=4 1 Thanh độ dài =1, 1 Thanh độ dài = 2, 1 thanh độ dài 1, R4=7 2 thanh độ dài = 2, R4 = 10 .... Như vậy R4=10 (cắt thành 2 thanh độ dài 2) Số phương án cắt sẽ tăng theo hàm số mũ: 2 mũ (n-1) (với n là độ dà...
Nhận xét