AI Empire Academy
CHUYÊN ĐỀ PYTHON THỰC CHIẾN

Bài tập Quy hoạch động (DP) bằng Python có giải thích chi tiết

Chinh phục dạng bài tập khó nhất trong thuật toán bằng phương pháp chia để trị và ghi nhớ kết quả trung gian. Tối ưu thời gian chạy theo cấp số mũ về đa thức.

8

bài tập có chấm code

Bài tập theo chuyên đề, có đề bài, ví dụ và starter code riêng.

0

cơ bản

Củng cố nền tảng và làm quen với kỹ thuật cốt lõi.

6

trung bình

Kết hợp nhiều bước suy luận để vận dụng kiến thức.

2

nâng cao

Thử thách tối ưu, cấu trúc dữ liệu và thuật toán chuyên sâu.

Lộ trình thực hành đề xuất

Bước 1

Ghi nhớ (Memoization)

Chuyển đệ quy thuần túy sang đệ quy có nhớ bằng cache/@lru_cache.

Bước 2

Quy hoạch động 1 chiều

Xây dựng bảng trạng thái DP từ dưới lên: dãy con tăng, leo thang, đổi tiền.

Bước 3

Bài toán cái ba lô (Knapsack)

Giải bài toán ba lô 0/1 và ba lô không giới hạn số lượng.

Bước 4

Truy vết phương án

Lưu lại vết quyết định để in ra lời giải tối ưu cụ thể.

Lỗi thường gặp & Cách phòng tránh

•

Xác định sai trạng thái bài toán dẫn đến công thức truy hồi không bao quát.

•

Không khởi tạo đúng giá trị cơ sở (base cases) của bảng DP.

Danh sách bài tập thực hành (8 bài)

Trong mỗi mức độ, bài tập được xếp từ dễ nhất đến khó nhất — hãy đi theo số bước.

Trung bình 6 bài

python-221Bước 1Trung bình

Tổng đoạn con lớn nhất (thuật toán Kadane)

Tìm đoạn con liên tiếp có tổng lớn nhất là bài toán kinh điển dạy tư duy quy hoạch động: tại mỗi vị trí, ta chỉ cần biết đoạn tốt nhất kết thúc ở đây. Thuật toán Kadane giải trong…

Nâng cao 2 bài

python-022Bước 2Nâng cao

Dãy con tăng dài nhất trong O(N log N)

Hệ thống đánh giá hiệu năng huấn luyện mô hình tại AI Empire Academy ghi lại chỉ số Accuracy qua các epoch thành một mảng số thực/số nguyên nums. Cần tìm độ dài lớn nhất của một ch…