

Đề bài: Quy hoạch động là gì?
N/L: Mấy a/c học IT cho e xin bí kíp học đi ạ
Với 1 đứa trí thông minh có hạn như e thì phải nên làm gì ạ
E muốn học IT mà thấy đuối đuối....
(Vì không biết hỏi như vậy có hợp lệ không nên e chèn đại thêm cái đề bài vào)
Hãy luôn nhớ cảm ơn và vote 5*
nếu câu trả lời hữu ích nhé!
`-` Quy hoạch động (Dynamic Programming - DP) là một kỹ thuật thiết kế thuật toán dùng để giải các bài toán có:
`+` Bài toán con chồng lặp (cùng một bài toán nhỏ được tính nhiều lần).
`+` Cấu trúc con tối ưu (lời giải tối ưu của bài toán lớn được xây dựng từ lời giải tối ưu của các bài toán nhỏ).
`->` Ý tưởng là lưu lại kết quả của các bài toán con đã tính để không phải tính lại, từ đó giảm thời gian chạy.
`**` Ví dụ:
`-` Dãy Fibonacci.
`-` Bài toán ba lô (Knapsack).
`-` Đường đi ngắn nhất trên lưới.
`-` Longest Common Subsequence (LCS).
`**` Còn về học IT:
`-` Học chắc nền tảng: tư duy lập trình, biến, vòng lặp, hàm, mảng, cấu trúc dữ liệu.
`-` Code mỗi ngày tầm `30 - 60` phút.
`-` Đừng học thuộc code, hãy tự gõ và tự sửa lỗi (lưu ý)
`-` Làm bài từ dễ đến khó, không nên lao ngay vào các bài thuật toán khó như DP.
`-` Khi gặp bài không làm được, hãy xem hướng giải rồi tự code lại từ đầu.
`-` Tham gia các trang luyện tập như Codeforces, LeetCode, VNOI, CSES khi đã có nền tảng.
`**` Nếu mới bắt đầu, bạn có thể học theo lộ trình:
`-` B1: Học C/C++ hoặc Python.
`-` B2: Học cấu trúc dữ liệu và giải thuật cơ bản.
`-` B3: Học thuật toán (tìm kiếm, sắp xếp, đệ quy, tham lam, quy hoạch động,...).
`-` B4: Làm dự án nhỏ hoặc luyện thuật toán thường xuyên.
`-~-~-~-~`
`-` Những cái ở trên là rút ra từ kinh nghiệm học IT `6` năm của mình
Hãy giúp mọi người biết câu trả lời này thế nào?

Bảng tin