🎯 Mục tiêu bài học

  • Biết chiến lược làm bài tối ưu: lấy chắc điểm trước, tối ưu sau.
  • Biết phân loại bài: bài A/B/C/D kiểu gì.
  • Biết khi nào nên bỏ bài (để quay lại sau).

📘 1️⃣ Phân loại bài trong 1 contest chuẩn

Thường sẽ có cấu trúc như sau:

  • Bài A: Dễ, chỉ cần if/for/string, đọc đề là code được. Ăn điểm nền tảng.
  • Bài B: Cần 1 ý tưởng thuật toán cơ bản (tham lam, DP 1D, BFS,...).
  • Bài C: Dùng cấu trúc dữ liệu hoặc thuật toán nặng hơn (Segment Tree, Dijkstra, DP 2D...).
  • Bài D: Khó, tổng hợp, chống-cheat tư duy. Nhiều khi không ai AC full đâu, đừng hoảng.

👉 Nghĩa là: đừng lao vào bài C/D đầu tiên dù nghe có vẻ “thú vị hơn”. Lấy sạch điểm dễ trước. Điểm dễ = huy chương.


📗 2️⃣ Chiến lược thời gian trong phòng thi

  1. 5-10 phút đầu: Lướt toàn bộ đề, phân loại độ khó, ghi chú nhanh (trên giấy nháp).
  2. 45-60 phút đầu: Giải chắc chắn các bài A/B. Ưu tiên code sạch, không bug. Test kỹ input lẻ.
  3. Phần giữa: Nhảy sang bài C. Nếu sau ~20-30 phút vẫn tịt ý tưởng → đổi bài khác.
  4. Cuối cùng: Quay lại bài C/D để tối ưu, thêm heuristic, thêm case phụ.
  5. 5 phút cuối: test lại input cỡ nhỏ đặc biệt (0, 1, n=1, trùng lặp...).

📘 3️⃣ Checklist trước khi nộp

  • Có đọc hết input chưa? (nhiều bạn quên đọc m dòng dữ liệu cuối 😅)
  • Biến có thể tràn int không? (dùng long long / int64)
  • Có in đúng format khoảng trắng/xuống dòng chưa?
  • Đã xoá debug chưa?

📗 4️⃣ Mini tool sắp xếp độ ưu tiên bài

🌿 Python minh hoạ

problems = [
    (1,"Bài A: dễ, code nhanh, ăn điểm nền tảng"),
    (2,"Bài B: tham lam / BFS / sort"),
    (3,"Bài C: DP 2D / Dijkstra / Segment Tree"),
    (4,"Bài D: kết hợp nhiều mảng + trick"),
]
problems.sort()
for _,desc in problems:
    print(desc)

🧩 Bài tập luyện tập

  1. Lấy một đề thi cũ. Hãy phân loại A / B / C / D theo độ khó thay vì thứ tự đề bài.
  2. Viết checklist nộp bài cho riêng em (bao gồm lỗi hay gặp của em).
  3. Luyện "bỏ bài đúng lúc": đặt timer 25 phút. Nếu chưa ra ý tưởng, em phải đổi bài khác. Ghi lại cảm giác.
💡 Vì sao luyện bỏ bài?
Trong thi thật, 1 bài khó có thể hút hết 2 giờ.
Trong lúc đó em bỏ lỡ 30 điểm dễ ở bài còn lại.
Huy chương không hỏi "em giải bài hardest chưa",
huy chương chỉ đọc tổng điểm.