Dynamic Programming

Dynamic Programming - giải bài toán bằng cách kết hợp các lời giải của các bài toán. Nguyên tắc của Dynamic Programming là được xây dựng qua 4 bước: 1. xác định cấu trúc của 1 lời giải tối ưu, 2. định nghĩa đẹ quy cho giá trị của 1 lời giải tối ưu, 3. tính giá trị của một lời giải tối tối ưu từ dưới lên, 4. xây dựng lời giải tối ưu từ các thông tin đã tính