Tuyển sinh 🎓 Mình nhận đào tạo lập trình giải thuật thi đấu: thi vào lớp 10 chuyên tin · thi học sinh giỏi tin học cấp tỉnh/thành · thi vào đội tuyển quốc gia · Olympic tin học sinh viên / ICPC · phỏng vấn thuật toán. Bấm vào đây để xem thông tin khóa học → Xem khóa học
Thi thử miễn phí
🏆 Thi thử HSG Tin học tuần này trên ClueOJ
Mở công khai cho mọi người · đề do thầy Nguyễn Việt Nam Sơn biên soạn
Lịch thi, đề cũ & lời giải →

Lộ trình học thuật toán từ A đến Z

Lộ trình học thuật toán từ A đến Z
// roadmap: zero → hero
Lộ trình học thuật toán từ A đến Z

Bạn mới bắt đầu và không biết nên học gì trước? Lộ trình gồm 5 giai đoạn: học series Nhập môn lập trình (14 bài, kèm 10 chuyên đề bổ sung), series Thuật toán cơ bản (9 bài, kèm 4 chuyên đề), series Thuật toán nâng cao (9 bài, kèm 2 chuyên đề) và series Thuật toán chuyên sâu (15 bài), rồi luyện toàn bộ lời giải trên web theo 9 chặng từ dễ đến khó. Đây đúng là thứ tự mình vẫn dạy học viên ôn thi vào lớp 10 chuyên Tin, thi HSG cấp tỉnh và đội tuyển.

  1. 1Nhập môn lập trình14 bài + 10 chuyên đề
  2. 2Thuật toán cơ bản9 bài + 4 chuyên đề
  3. 3Thuật toán nâng cao9 bài + 2 chuyên đề
  4. 4Thuật toán chuyên sâu15 bài giảng
  5. 5Luyện bài tập9 chặng, 300+ bài

Đang ôn thi vào lớp 10 chuyên Tin? Xem thêm lộ trình ôn thi chuyên Tin 12 tháng: chia theo từng tháng, có mốc tự kiểm tra cuối mỗi giai đoạn.

Giai đoạn 1. Series Nhập môn lập trình

Nếu em chưa từng lập trình, hãy bắt đầu từ đây. Học lần lượt từ bài 1 đến bài 14, mỗi bài đều có code C++ kèm Python, khung chạy tay từng bước và 8 bài tập có gợi ý. Làm hết bài tập cuối bài rồi mới sang bài sau, xong thì bấm vào ô tròn để đánh dấu đã học. Bài 14 là đề thi thử để em tự kiểm tra trước khi qua giai đoạn 2.

Chuyên đề bổ sung cho giai đoạn 1

Mười chuyên đề dưới đây gom những dạng bài nhập môn mà đề HSG lớp 9 và đề vào 10 chuyên Tin rất hay ra: xử lý chữ số và hệ cơ số, số thực và làm tròn, số nguyên lớn, mô phỏng trên lưới, xử lý xâu, số học trong đề thi, đọc ghi file và nhập xuất nhanh, dùng Python khi đi thi, mảng cộng dồn 2 chiều, vét cạn thông minh. Em có thể học sau bài 14, hoặc học xen kẽ khi gặp dạng bài tương ứng. Mỗi chuyên đề cũng có khung chạy tay, mô phỏng từng bước và 8 bài tập có gợi ý.

Giai đoạn 2. Series Thuật toán cơ bản

Đã chắc phần nhập môn thì học tiếp các thuật toán nền tảng mà đề thi nào cũng có: đệ quy và quay lui, tìm kiếm nhị phân, hai con trỏ, tham lam, quy hoạch động, thao tác bit, đồ thị BFS/DFS và kỹ năng luyện thi (chấm trâu, sinh test). Bài 23 có đề thi thử 6 câu bấm giờ 180 phút.

Chuyên đề bổ sung cho giai đoạn 2

Bốn chuyên đề cơ bản đi sâu vào những dạng xuất hiện nhiều nhất trong đề HSG cấp tỉnh: cộng dồn kết hợp map để đếm đoạn con, sắp xếp và kỹ thuật sự kiện, nén số, các dạng quy hoạch động kinh điển, đếm và tìm quy luật. Em nên học sau bài 23, trước khi sang series nâng cao.

Giai đoạn 3. Series Thuật toán nâng cao

Dành cho mục tiêu giải cao HSG tỉnh, chuyên Tin và đội tuyển: chia để trị và đếm nghịch thế, ngăn xếp và hàng đợi đơn điệu, modulo và tổ hợp, quy hoạch động nâng cao, hash và KMP, đường đi ngắn nhất, DSU và cây khung, Fenwick và Segment Tree. Bài 32 có đề thi thử 6 câu bấm giờ 180 phút.

Chuyên đề bổ sung cho giai đoạn 3

Hai chuyên đề nâng cao: hình học tính toán (tích có hướng, giao đoạn thẳng, diện tích đa giác, bao lồi) và lũy thừa ma trận (Fibonacci với n tới 1018, truy hồi tuyến tính, đếm đường đi độ dài k).

Giai đoạn 4. Series Thuật toán chuyên sâu

Dành cho HSG tỉnh vòng 2, HSG quốc gia và đội tuyển chuyên Tin: cây và QHĐ trên cây, LCA, sắp xếp topo, thành phần liên thông mạnh, khớp và cầu, Sparse Table và Segment Tree lazy, chia căn và thuật toán Mo, Z-function, Manacher, Trie, số học nâng cao, chặt tam phân, meet in the middle, nhánh cận, lý thuyết trò chơi, ghép cặp và luồng cực đại, gộp tập nhỏ vào lớn, tối ưu quy hoạch động, hash nâng cao, suffix array và Heavy-Light Decomposition (truy vấn trên đường đi của cây).

Góc vui: Thuật toán qua trò chơi

Học mà chơi: Tháp Hà Nội, mê cung, Sudoku, 2048 và cờ caro, mỗi trò là một thuật toán em đã học (đệ quy, BFS, quay lui, mô phỏng mảng 2 chiều, minimax). Mỗi bài có khung chơi thử ngay trên trang và nút để máy giải từng bước. Em học xen kẽ bất cứ lúc nào, rất hợp để rủ bạn bè cùng học.

Giai đoạn 5. Luyện bài tập theo 9 chặng

Học xong các series, em chuyển sang luyện lời giải bài tập trên web. Bài được xếp thành 9 chặng, trong mỗi chặng bài dễ đứng trước. Trước khi vào một chặng, em có thể ôn nhanh bài giảng tương ứng:

Cách luyện bài tập theo lộ trình

1Tự làm trước

Đọc đề, tự nghĩ và tự code ít nhất 20–30 phút rồi mới xem lời giải. Bí quá thì chỉ đọc phần ý tưởng thôi.

2Chấm thử ngay dưới bài

Dán code vào khung Chấm thử ở cuối mỗi bài để chạy với test ví dụ. Học viên của lớp thì nộp lên CLUE OJ để chấm với bộ test đầy đủ.

3Đánh dấu đã giải

Bấm vào ô tròn trước mỗi bài, hoặc nút Đánh dấu đã giải trong bài, để theo dõi tiến độ. Trang chủ cũng hiện tiến độ của bạn.

Chặng 1. Nhập môn & kỹ năng cơ bản

🧱

Đây là phần móng. Bạn tập đọc đề cho kỹ, nhập xuất dữ liệu nhanh, duyệt mảng, vét cạn có kiểm soát và luôn tự hỏi: code mình chạy bao nhiêu phép tính? Phần lớn lỗi sai của học sinh mới đến từ tràn số (quên long long) và vòng lặp chạy quá lâu.

  • Ước lượng độ phức tạp trước khi code: khoảng 108 phép tính mỗi giây.
  • Thấy số lớn hơn 2·109 thì dùng ngay long long.
  • Viết vét cạn trước, rồi mới tối ưu.

0/70

  1. Di chuyển toa tàuDễ
  2. Bầu cua tôm cáDễ
  3. Cột bòDễ
  4. Đồng hồ báo thứcDễ
  5. Tính giá trịDễ
  6. Tưới Nước Cho RauDễ
  7. Đếm số bộ 3Dễ
  8. Hoán ĐổiDễ
  9. Đảo NgượcDễ
  10. Tổng đoạn con lớn nhấtDễ
  11. Gameshow "Ai là triệu phú"Dễ
  12. Chia Quà 4Dễ
  13. Đếm Chữ SốDễ
  14. Sửa ĐènDễ
  15. Tính Tổng Các Số Trong XâuDễ
  16. Ăn Bánh (cookies)Dễ
  17. Tích Lớn Nhất (TICHMAX)Dễ
  18. Đong Gạo (DONGGAO)Dễ
  19. Bánh RánDễ
  20. Xóa Phần Tử Trong Ma Trận (TABLEDEL)Dễ
  21. Xóa Số (XOSO – OLPCĐ 2012)Dễ
  22. Đoạn Con (DPSUBSEG)Dễ
  23. Hoán Vị Thần Kỳ (MAGPERM)Dễ
  24. Dãy Số 3 (SEQ3)Dễ
  25. Dãy Số 1 – Hiệu Số (HISO)Dễ
  26. Gián ĂnDễ
  27. Khóa Số (HSG12 Hà Nội 2025 – Bài 1)Dễ
  28. Mạch DNA (HSG9 Hà Nội 2025 – Bài 2)Dễ
  29. Bài 7: Mảng 2 chiều (ma trận) trong C++ và Python: duyệt hàng, cột, đường chéo, thao tác cơ bản và mảng độngDễ
  30. Bài 6: Mảng 1 chiều trong C++ và Python: mảng tĩnh, thêm – xóa – sửa – tìm kiếm – sắp xếp, mảng động và vectorDễ
  31. Bài 5: Hàm (chương trình con) trong C++ và Python: tham trị, tham chiếu, đệ quyDễ
  32. Bài 4: Vòng lặp for, while, do – while, break và continue trong C++ và PythonDễ
  33. Bài 2: Cài đặt Code::Blocks, chương trình C++ đầu tiên, nhập xuất và kiểu dữ liệuDễ
  34. Xin chào (HELLO)Dễ
  35. Gấp Giấy (GAGI)Dễ
  36. Cắt Bìa (HSG9 TP Đà Nẵng 2018-2019 – Bài 2)Dễ
  37. Collecting Numbers (CSES 2216)Dễ
  38. Đếm Ký Tự (HSG9 TP Đà Nẵng 2018-2019 – Bài 1)Dễ
  39. Palindrome Reorder (CSES 1755)Dễ
  40. Siêu đối xứng (2022TPB02) (Tin học trẻ TP Đà Nẵng 2021-2022 – Bảng B)Dễ
  41. Minimum Number of Moves to Seat Everyone (LeetCode 2037)Dễ
  42. Giai Thừa (n < 23)Dễ
  43. Rotate Numbers (NTHU OJ 12934)Dễ
  44. Xâu Đối XứngDễ
  45. ABCDễ
  46. Đếm Các Số Nguyên Tố Trong DãyDễ
  47. Số Không GiảmDễ
  48. Xoay danh sách liên kết K bướcDễ
  49. Tìm thẻ bị mấtDễ
  50. Đếm số phần tử cực đại trong ma trậnDễ
  51. Khôi Phục Mảng A Từ Bảng TổngDễ
  52. Sắp Xếp Chẵn Trái Lẻ PhảiDễ
  53. Đổi 1 Chữ Số Để Chia Hết Cho 3Dễ
  54. Mật Khẩu (PASSWORD) (HSG 12 THPT Lê Quý Đôn Hà Tĩnh 2021-2022)Dễ
  55. Tổng Các Số Chẵn Liên Tiếp Lớn Nhất (TONGCHAN)Dễ
  56. Số Đặc BiệtDễ
  57. Xóa 1 dòng trong mảng 2 chiều cấp phát độngDễ
  58. Số ngày trong thángDễ
  59. Max TripleDễ
  60. Hình Vuông (VUONG) (Tin học trẻ Đà Nẵng 2017-2018, bảng B)Dễ
  61. Sắp Xếp Lẻ Giảm Bên Trái, Chẵn Tăng Bên PhảiDễ
  62. Con Ốc Sên (SNAIL)Dễ
  63. Chuyên đề 1: Xử lý chữ số và đổi hệ cơ số trong C++ và Python: tách chữ số, số đảo ngược, số đối xứng, hệ nhị phân và thập lục phânDễ
  64. Chuyên đề 2: Số thực, làm tròn và các hàm toán học trong C++ và Python: in số thực, sai số, sqrt, pow, chia lấy trầnDễ
  65. Chuyên đề 3: Số nguyên lớn (Big Int) trong C++ và Python: cộng, trừ, nhân, chia số lớn bằng xâuDễ
  66. Chuyên đề 4: Mô phỏng và kỹ thuật trên lưới trong C++ và Python: mảng hướng dx dy, ma trận xoắn ốc, xoay ma trận, ngày thángDễ
  67. Chuyên đề 7: Đọc ghi file và nhập xuất nhanh trong C++ và Python: freopen, đọc tới hết file, getline, định dạng output và những lỗi làm bài đúng mà 0 điểmDễ
  68. Chuyên đề 9: Mảng cộng dồn 2 chiều và mảng hiệu 2 chiều trong C++ và Python: tổng hình chữ nhật con O(1), cộng vào cả hình chữ nhật, hình vuông k × k tổng lớn nhấtDễ
  69. Chuyên đề 10: Vét cạn thông minh và tối ưu vòng lặp trong C++ và Python: đếm số phép tính, thu hẹp vòng lặp, đếm cặp bằng mảng đếm, ăn điểm subtaskDễ
  70. Cách hạn chế lỗi Wrong Answer khi nộp bài trên các web chấm code

Chặng 2. Toán & số học

🔢

Đề thi HSG rất hay có bài toán học: chia hết, ước, số nguyên tố, đồng dư, tìm quy luật. Chỉ cần nhận xét đúng là code rất ngắn, nhưng nếu không nhìn ra thì có code dài cũng không qua được.

  • Thuộc lòng sàng Eratosthenes và cách đếm ước.
  • Kết quả lớn thì lấy modulo ở mọi bước cộng và nhân.
  • Thử tay với N nhỏ để tìm quy luật, sau đó mới chứng minh.

0/30

  1. Tìm 2 sốDễ
  2. Khuyến Mãi (mua bút)Dễ
  3. Kiểm Tra Nguyên TốDễ
  4. Cắt Hình (HSG9 Hà Nội 2025 – Bài 1)Dễ
  5. Bài 12: Số học cơ bản trong C++ và Python: chia lấy dư, ước số, UCLN – BCNN, số nguyên tố, sàng EratosthenesDễ
  6. Trồng cây (Đề tự luyện HSG Tin 9 – Bài 1) – Từ vét cạn O(S) đến duyệt ước tới căn bậc haiDễ
  7. Số Lặp Lại (CPP0181)Dễ
  8. Chia Quà (CHIAQUA)Dễ
  9. Chuyên đề 6: Số học trong đề thi với C++ và Python: đếm bội trong đoạn, bao hàmDễ
  10. LoopTrung bình
  11. Trám ĐenTrung bình
  12. Đếm Cặp Version 2Trung bình
  13. Phân SốTrung bình
  14. Tìm Chữ Số (CHUSO2)Trung bình
  15. Tổng (THPT16 – Bài 4)Trung bình
  16. Tìm Phần Thưởng (THUONG) (HSG9 TP Đà Nẵng 2018-2019 – Bài 3)Trung bình
  17. Future Number 1 (FUTURENUM)Trung bình
  18. Tìm số d lớn nhất để a % d = b % d = c % dTrung bình
  19. Hình Vuông (tht21_tphcm_slc_square) (Tin học trẻ TPHCM 2021, vòng sơ loại, bảng C)Trung bình
  20. Cặp Số Kì Diệu (PAIRS (Chọn đội tuyển HSG QG Tiền Giang 2022-2023)Trung bình
  21. Cyclically Rotating a Grid (LeetCode 1914)Trung bình
  22. Bài 26: Toán modulo và tổ hợp trong C++ và Python: lũy thừa nhanh, nghịch đảo modulo, tính tổ hợp C(n, k) mod pTrung bình
  23. Chuyên đề cơ bản 4: Đếm và tìm quy luật trong C++ và Python: quy tắc cộng, quy tắc nhân, đếm bằng đóng góp, lập bảng đoán công thức, chu kỳTrung bình
  24. Chèn Phép ToánKhá
  25. Tích Các Ước (MULDIV)Khá
  26. Trò Chơi (HSG9 Hà Nội 2025 – Bài 4)Khá
  27. Tính tổng (OLP2B)Khá
  28. Mai (2023HITOPENDAY_4)Khá
  29. Chia kẹo (Đề tự luyện HSG Tin 12 – Bài 1) – Chia khối theo N/k và số học moduloKhá
  30. Bài 40: Số học nâng cao trong C++ và Python: sàng ước nguyên tố nhỏ nhất, sàng trên đoạn, hàm phi Euler, Euclid mở rộng, định lý thặng dư Trung HoaKhá

Chặng 3. Xử lý chuỗi

Chặng 4. Sắp xếp, mảng cộng dồn, hai con trỏ

📊

Đây là nhóm kỹ thuật "rẻ mà mạnh": sắp xếp, mảng cộng dồn (prefix sum), mảng hiệu, hai con trỏ, rời rạc hoá. Nhiều bài O(N²) xuống được O(N) hoặc O(N log N) chỉ nhờ một mảng cộng dồn.

  • Gặp câu hỏi tổng đoạn [l, r] thì nghĩ ngay tới prefix sum.
  • Có nhiều lần cộng vào một đoạn thì dùng mảng hiệu.
  • Mảng đã sắp xếp mà cần tìm cặp thì thử hai con trỏ.

0/40

  1. Đếm Số Nguyên Tố (MK119SNT)Dễ
  2. Bài 13: Mảng đánh dấu, đếm phân phối và mảng cộng dồn (prefix sum), mảng hiệu trong C++ và PythonDễ
  3. Bài 10: Struct, pair và sắp xếp theo nhiều tiêu chí trong C++ và Python (hàm so sánh cmp, xếp hạng)Dễ
  4. Họ Hàng (HOHANG) (HSG 19.20)Dễ
  5. Chuỗi Nguyên TốDễ
  6. Tặng Quà (QUA) (HSG 12 Nam Định 2021 – 2022)Dễ
  7. Chuyên đề 5: Xử lý xâu trong đề thi bằng C++ và Python: getline, chuẩn hoá họ tên, tách số, đếm tần suất, nén xâu RLEDễ
  8. Trồng câyTrung bình
  9. Chọn từTrung bình
  10. Ma trận xoắn ốc 2Trung bình
  11. Số Lượng Cách XóaTrung bình
  12. Trung Bình CộngTrung bình
  13. Ước Lớn Nhất (BESTUOC)Trung bình
  14. Dấu trong đoạn (MULTI)Trung bình
  15. Đoạn Đẹp (Duyên Hải 2021)Trung bình
  16. Đặt Trạm Phủ Sóng (MOBI – OLP 30/4 Khối 10)Trung bình
  17. Tạo Mảng B (TAOMANGB)Trung bình
  18. Mua Sắm (HSG12 Hà Nội 2025 – Bài 2)Trung bình
  19. Bài 17: Kỹ thuật hai con trỏ và cửa sổ trượt trong C++ và Python: tìm cặp, đoạn con dài nhất, ngắn nhất trong O(n)Trung bình
  20. Tăng Đầu Giảm Cuối (ARRAYM)Trung bình
  21. Restaurant Customers (CSES 1619)Trung bình
  22. Chuỗi hạt bồ đề (PTIT009)Trung bình
  23. Flowers (ICTU 56)Trung bình
  24. Maximize the Confusion of an Exam (LeetCode 2024)Trung bình
  25. Longest Subarray of 1's After Deleting One Element (LeetCode 1493)Trung bình
  26. Đếm đoạn (HNOI19_R1_DEMDOAN) (HSG Hà Nội 2019 vòng 1)Trung bình
  27. Tìm 3 Phần Tử Có Tổng Bằng KeyTrung bình
  28. Cặp Số Chia Hết Cho 3 (BAI3)Trung bình
  29. Khoảng Cách Bằng XTrung bình
  30. Dương Âm Xen KẽTrung bình
  31. Chuyên đề cơ bản 2: Sắp xếp, kỹ thuật sự kiện (sweep line) và nén số (rời rạc hoá) trong C++ và Python: gộp đoạn, khách nhà hàng, xếp phòngTrung bình
  32. Điểm chungKhá
  33. Hộp màu (COLORBOXKhá
  34. Ước Chung Lớn Nhất (GCD – Bài 4, đề HSG)Khá
  35. Vận Chuyển Gỗ (Thi thử HSG9 SQRTOJ 2025 – Ngày 1 Bài 2)Khá
  36. Mái Che (COVER)Khá
  37. Số nguyên tố (PRIME)Khá
  38. Chia phần (CHIAPHAN)Khá
  39. Ma Trận May Mắn (LUCKYSQ) (Beginner Free Contest 23)Khá
  40. Hình Chữ Nhật 2Khó

Chặng 5. Tham lam & tìm kiếm nhị phân

🎯

Tham lam là chọn cái tốt nhất ở mỗi bước. Khó nhất là chứng minh cách chọn đó đúng. Tìm kiếm nhị phân không chỉ để tìm phần tử trong mảng, mà còn để chặt nhị phân đáp án, một kỹ thuật cực kỳ hay gặp.

  • Nghĩ ra cách tham lam thì thử tìm phản ví dụ trước khi code.
  • Đề hỏi "nhỏ nhất sao cho…" hay "lớn nhất sao cho…" thì nghĩ tới chặt nhị phân đáp án.
  • Viết hàm check(x) riêng cho gọn và dễ sửa.

0/51

  1. Thang máyDễ
  2. Đồng hồ sốDễ
  3. Cửa Hàng Số HọcDễ
  4. Sách CũDễ
  5. Dự Trữ NướcDễ
  6. Tiệm SáchDễ
  7. TaxiDễ
  8. Two Sets (CSES 1092)Dễ
  9. Speed Typing (Kick Start 2022 A1)Dễ
  10. Chênh lệchTrung bình
  11. Bán BitcoinTrung bình
  12. Ghép SốTrung bình
  13. Tổng Lớn Nhất Đạt Được Từ Một Hoán Vị Bất KỳTrung bình
  14. Thêm Dãy ConTrung bình
  15. Chặt Cây Xây NhàTrung bình
  16. Đoạn Phủ (DOANP)Trung bình
  17. Nối Điểm Đen Trắng (VOI 2011)Trung bình
  18. Bảng NhânTrung bình
  19. Khuyến mãi trà sữaTrung bình
  20. Chiều dài phủ (DOANP2)Trung bình
  21. Khoảng cách nhỏ nhất (RBPOINT2)Trung bình
  22. Tham Dự Đại Hội Thể Thao (BAI2 – HSG)Trung bình
  23. Quà Trung Thu (QUATANG – HSG 18.19)Trung bình
  24. Trò Chơi Ghép Số (NUMTRANS)Trung bình
  25. Bộ Số Tam Giác (BOSOTG) (HSG12 Đà Nẵng 2018-2019 – Bài 1)Trung bình
  26. Bài 18: Thuật toán tham lam trong C++ và Python: đổi tiền, chọn hoạt động, xếp lịch và khi nào tham lam saiTrung bình
  27. Bài 16: Tìm kiếm nhị phân trong C++ và Python: lower_bound, upper_bound và kỹ thuật chặt nhị phân đáp ánTrung bình
  28. Các Hiệp Sĩ (GREKNIGHT)Trung bình
  29. Ferris Wheel (CSES 1090)Trung bình
  30. NUM5 (final2_2122_num5)Trung bình
  31. Find Original Array From Doubled Array (LeetCode 2007)Trung bình
  32. Remove Colored Pieces if Both Neighbors are the Same Color (LeetCode 2038)Trung bình
  33. Mã Hóa Đại Hiệp (MAHOATrung bình
  34. Biến Đổi SốTrung bình
  35. Cắt Dây (CATDAY)Trung bình
  36. Sửa đồng hồ (Đề tự luyện HSG Tin 9 – Bài 2) – Tham lam bằng kĩ thuật đổi chỗ hai việc kề nhauTrung bình
  37. Chia Đoạn (SEG)Trung bình
  38. Hộp Quà (HOPQUA)Trung bình
  39. Factory Machines (CSES 1620)Trung bình
  40. Trò chơi 4: Game 2048 trong C++ và Python: mảng 2 chiều, trượt và gộp một hàng, xoay ma trận cho 4 hướng, máy tự chơi bằng tham lamTrung bình
  41. Cặp Ước ĐẹpKhá
  42. Chia Mảng (CSES Array Division)Khá
  43. Xây Hàng Rào (HNOJ)Khá
  44. Số Đặc Biệt (SDB)Khá
  45. Số Có 9 Ước Số (Bản Khó)Khá
  46. Đèn Lồng (HSG12 Hà Nội 2025 – Bài 3)Khá
  47. Trung Bình Cộng Lớn Nhất (CSLOJ 1404) (Bồi dưỡng HSGQG Hải Phòng 2020)Khá
  48. Trạm phát sóng (Đề tự luyện HSG Tin 12 – Bài 2) – Chặt nhị phân đáp án và tham lam "cột xa nhất"Khá
  49. Khóa Số 3Khó
  50. Trang Trí Tết (Thi thử HSG9 SQRTOJ 2025 – Bài 4)Khó
  51. Kth Smallest Product of Two Sorted Arrays (LeetCode 2040)Khó

Chặng 6. Đệ quy, quay lui, chia để trị

🌳

Đệ quy là nền tảng cho quay lui, chia để trị, duyệt bitmask và meet in the middle. Đây cũng là cầu nối để bước sang quy hoạch động.

  • Luôn viết điều kiện dừng trước.
  • Quay lui thì nhớ cắt nhánh sớm để chạy kịp thời gian.
  • N ≤ 20 thì nghĩ tới bitmask, N ≤ 40 thì nghĩ tới meet in the middle.

Chặng 7. Quy hoạch động

🧩

Quy hoạch động là "trùm cuối" của các kỳ thi HSG và chuyên Tin. Bạn cần trả lời được 3 câu: trạng thái là gì, chuyển trạng thái thế nào, và cơ sở (trường hợp nhỏ nhất) là gì.

  • Bắt đầu từ các bài kinh điển: cái túi, dãy con tăng, đếm cách.
  • Viết công thức truy hồi ra giấy trước khi code.
  • Gặp đếm số trong đoạn [A, B] theo chữ số thì dùng Digit DP.

0/65

  1. Dãy Con Tăng Dài Nhất – Bản Dễ (DCTDN1)Dễ
  2. Cầu Thang Nhà A Phủ (DPSTEPS)Dễ
  3. Công Chúa (DPPRINCESS)Dễ
  4. Frog 2 (AtCoder Educational DP Contest B)Dễ
  5. Đường đi của RobotTrung bình
  6. Tìm xnTrung bình
  7. Tổng Bình Phương Các Số ConTrung bình
  8. Chia TrangTrung bình
  9. Cộng một kiểu ĐứcTrung bình
  10. Dãy Số 8Trung bình
  11. Giảm Thiểu Đồng Xu (CSES 1634)Trung bình
  12. Lát GạchTrung bình
  13. Mario Nhảy CộtTrung bình
  14. Mô Tả Mảng (CSES 1746 Array Description)Trung bình
  15. Xếp Hàng Mua Vé (NKTICK)Trung bình
  16. Xếp Lịch (XEPLICH)Trung bình
  17. Đường Đi Của Robot (ROBOT)Trung bình
  18. Chia Đồ Chơi (DPTOYS)Trung bình
  19. Phi Tiêu (PHITIEU)Trung bình
  20. Nhàm Chán (DPBORE)Trung bình
  21. Two Sets IITrung bình
  22. Asen Và BoyanTrung bình
  23. Món Ăn (DPRCMA)Trung bình
  24. Money SumTrung bình
  25. Stones (AtCoder Educational DP Contest K)Trung bình
  26. Cặp XáchTrung bình
  27. Bài 19: Quy hoạch động nhập môn trong C++ và Python: Fibonacci, đếm đường đi, cái túi 0/1, dãy con tăng dài nhấtTrung bình
  28. Dãy số 2 (SEQ2)Trung bình
  29. Kinh nghiệm (BROTHERS (Olympic 30/4 2019 Khối 11)Trung bình
  30. Perfect Sum Problem (GFG perfect-sum)Trung bình
  31. Count Number of Teams (LeetCode 1395)Trung bình
  32. Maximum Earnings From Taxi (LeetCode 2008)Trung bình
  33. Maximum Non Negative Product in a Matrix (LeetCode 1594)Trung bình
  34. Bài toán chiếc balo 2 (BALO2)Trung bình
  35. Cái Túi 2 (BTKCATU2)Trung bình
  36. Chuyên đề cơ bản 3: Quy hoạch động kinh điển trong C++ và Python: dãy con chung dài nhất, sửa xâu, QHĐ trên lưới, đếm cách đổi tiền, chia đoạnTrung bình
  37. Trò chơi 5: Cờ caro trong C++ và Python: kiểm tra thắng bằng mảng hướng, minimax bất bại cho tic-tac-toe, cắt tỉa alpha–beta và hàm đánh giáTrung bình
  38. Dự ánKhá
  39. Qua cầuKhá
  40. Chú Tiểu Chùa HươngKhá
  41. Số Zero Tận CùngKhá
  42. Trọng Số Của XâuKhá
  43. Chia Hết (DPRCDIV)Khá
  44. Du Hành (ACM Việt Nam 10-2014)Khá
  45. Điệu Nhảy Mùa Xuân (DPRCCOW)Khá
  46. Tìm Số Có N Ước (NDIVISORS)Khá
  47. Mua Hàng (HSG9 Hà Nội 2025 – Bài 5)Khá
  48. Trò Chơi (DPRCDIE)Khá
  49. First Day Where You Have Been in All the Rooms (LeetCode 1997)Khá
  50. Số May MắnKhá
  51. Bài 27: Quy hoạch động nâng cao trong C++ và Python: truy vết, QHĐ trên đoạn, QHĐ bitmask và QHĐ chữ sốKhá
  52. Bài 42: Lý thuyết trò chơi trong C++ và Python: trạng thái thắng thua, Nim, hàm Grundy, minimax và tổng ôn series Thuật toán chuyên sâuKhá
  53. Chuyên đề nâng cao 2: Lũy thừa ma trận trong C++ và Python: nhân ma trận, Fibonacci thứ n với n tới 10^18, truy hồi tuyến tính, đếm đường đi độ dài kKhá
  54. Tổng Các Chữ SốKhó
  55. Chi Phí Ít Nhất Để Kết Nối Hai Nhóm ĐiểmKhó
  56. Đếm Xâu TốtKhó
  57. Số Cách Điền LướiKhó
  58. Trò Chơi Nhặt TiềnKhó
  59. Trò Chơi (HSG12 Hà Nội 2025 – Bài 4)Khó
  60. Kẻ Về Nhì (SECOND) (Thi thử HSG9 SQRTOJ 2025 – Ngày 2 Bài 5)Khó
  61. Count Number of Special Subsequences (LeetCode 1955)Khó
  62. The Number of Good Subsets (LeetCode 1994)Khó
  63. Trò Chơi Xếp Số (GAME11)Khó
  64. Minimum Incompatibility (LeetCode 1681)Khó
  65. HỎI ĐÁP LẬP TRÌNH THI HỌC SINH GIỎI

Chặng 8. Đồ thị

🕸️

Phần dành cho mục tiêu đội tuyển và chuyên Tin cấp cao: duyệt đồ thị BFS/DFS, đường đi ngắn nhất, cây khung, DSU, cây và LCA. Rất nhiều bài nhìn qua tưởng không liên quan, nhưng khi mô hình hoá thành đồ thị là ra ngay.

  • Lưu đồ thị bằng danh sách kề (vector<int> adj[N]).
  • Đồ thị không trọng số thì BFS, có trọng số không âm thì Dijkstra.
  • Cần gộp nhóm hoặc kiểm tra liên thông nhanh thì dùng DSU.

0/23

  1. Nhà Từ Thiện SwyrinTrung bình
  2. Covid (ICTU P58)Trung bình
  3. Bài 23: Tổng ôn Thuật toán cơ bản: nhận dạng bài và đề thi thử 6 câu có lời giải C++ và PythonTrung bình
  4. Bài 21: Đồ thị nhập môn trong C++ và Python: danh sách kề, BFS, DFS, thành phần liên thông và loang trên lướiTrung bình
  5. The Time When the Network Becomes Idle (LeetCode 2039)Trung bình
  6. Software (SOFTWARE) (Olympic 30/4 2023 – Tin học khối 10)Trung bình
  7. Bữa Tiệc (BUATIEC) (HSG12 Lâm Đồng 2025 – Bài 4)Trung bình
  8. Trò chơi 2: Mê cung trong C++ và Python: sinh mê cung bằng DFS ngẫu nhiên, tìm đường ngắn nhất bằng BFS và truy vết đường điTrung bình
  9. Bin LadenKhá
  10. Thoát lũ (Đề tự luyện HSG Tin 9 – Bài 4) – BFS nhiều nguồn và cuộc đua giữa người và nướcKhá
  11. Số Cách Đi Quân Mã (SOCACH) (Olympic 30/4 2023 – Tin học khối 10)Khá
  12. Bài 30: Disjoint Set Union (DSU) và cây khung nhỏ nhất trong C++ và Python: Kruskal và PrimKhá
  13. Bài 33: Cây và quy hoạch động trên cây trong C++ và Python: DFS trên cây, kích thước cây con, đường kính, tập độc lập lớn nhất, kỹ thuật đổi gốcKhá
  14. Bài 34: LCA và nhảy nhị phân trong C++ và Python: tổ tiên chung gần nhất, tổ tiên thứ k, khoảng cách trên câyKhá
  15. Bài 35: Sắp xếp topo trong C++ và Python: đồ thị có hướng không chu trình (DAG), thuật toán Kahn, DFS ba màu và quy hoạch động trên DAGKhá
  16. Bài 36: Thành phần liên thông mạnh, đỉnh khớp và cầu trong C++ và Python: num/low, Tarjan, KosarajuKhá
  17. Bài 43: Ghép cặp trên đồ thị hai phía và luồng cực đại trong C++ và Python: thuật toán Kuhn, Edmonds–Karp, lát cắt nhỏ nhất, định lý KönigKhá
  18. Dịch chuyển tức thờiKhó
  19. Strange Printer II (LeetCode 1591)Khó
  20. Parallel Courses II (LeetCode 1494)Khó
  21. Phà đêm (Đề tự luyện HSG Tin 12 – Bài 4) – Dijkstra với cạnh phụ thuộc thời gian và đồ thị nhiều tầngKhó
  22. Count Ways to Build Rooms in an Ant Colony (LeetCode 1916)Khó
  23. Mùa nước nổi (Đề tự luyện HSG Tin quốc gia – Bài 4) – Cây Kruskal, DSU gộp tập nhỏ vào lớn và nhảy nhị phânKhó

Chặng 9. Cấu trúc dữ liệu & kỹ thuật nâng cao

🏗️

Các cấu trúc dữ liệu giúp code nhanh hơn hẳn: ngăn xếp, hàng đợi, hàng đợi ưu tiên, set/map, ngăn xếp đơn điệu, rồi tới Segment Tree, Fenwick Tree, Sparse Table. Đây là những "vũ khí" để lấy trọn điểm các bài khó nhất.

  • Tìm phần tử gần nhất lớn hơn hoặc nhỏ hơn thì dùng ngăn xếp đơn điệu.
  • Truy vấn đoạn có cập nhật thì dùng Segment Tree hoặc Fenwick.
  • Luôn ghi nhớ độ phức tạp của từng thao tác trên set/map/priority_queue.

0/62

  1. Dãy ngoặc đúngDễ
  2. Mật Khẩu (PASSWDễ
  3. Bài 11: STL cơ bản trong C++ và Python: vector, stack, queue, set, map (kèm bài kiểm tra dấu ngoặc, Josephus)Dễ
  4. So sánh 2 danh sách liên kết (isEqual)Dễ
  5. Nhảy Lò CòTrung bình
  6. Số Nguyên Tố Hoàn HảoTrung bình
  7. Đồng Tiền Xu Giả (FCOIN)Trung bình
  8. Số siêu nguyên tố (SPRIME)Trung bình
  9. Xóa Chữ Số (DELNUM)Trung bình
  10. Dãy Số 4 (SEQ4)Trung bình
  11. Trò Chơi 2 (DPGAME2)Trung bình
  12. Đổi Tiền (DPRCCOI)Trung bình
  13. Dây Đèn (HSG9 Hà Nội 2025 – Bài 3)Trung bình
  14. Xếp Khối Gỗ (Thi thử HSG9 SQRTOJ 2025 – Ngày 1 Bài 1)Trung bình
  15. Tìm kiếm nhị phân 3 (SEARCH3)Trung bình
  16. Xâu Duy Nhất (Xauduynhat)Trung bình
  17. Apple Division (CSES 1623)Trung bình
  18. Trúc (2023HITOPENDAY_3)Trung bình
  19. Design Underground System (LeetCode 1396)Trung bình
  20. Lá Bài (LABAI)Trung bình
  21. Rút Tiền ATMTrung bình
  22. Dãy Chẵn Lẻ (DAYSO)Trung bình
  23. Nói Chuyện Riêng (ARGUMENT)Trung bình
  24. Giải Cứu Đàn Gà (Codeforces 650A Watchmen)Trung bình
  25. Make Sum Divisible by P (LeetCode 1590)Trung bình
  26. Bài 25: Ngăn xếp đơn điệu và hàng đợi đơn điệu trong C++ và Python: phần tử lớn hơn gần nhất, min/max trên cửa sổ trượt, hình chữ nhật lớn nhấtTrung bình
  27. Chuyên đề cơ bản 1: Kỹ thuật cộng dồn kết hợp map trong C++ và Python: đếm đoạn con có tổng bằng k, chia hết cho k, XOR tiền tố, đoạn cân bằngTrung bình
  28. CameraKhá
  29. Chia RuộngKhá
  30. Đếm Đoạn Bao ChứaKhá
  31. SEQKhá
  32. Pilots (MPILOT)Khá
  33. Chuỗi Con Xuất Hiện K Lần (DTKSUB)Khá
  34. Collecting Numbers II (CSES 2217)Khá
  35. Room Allocation (CSES 1164)Khá
  36. Dãy nghịch thế (NKINV)Khá
  37. Bộ Vũ Khí Tốt (Codeforces 145CKhá
  38. Dãy đèn lồng (Đề tự luyện HSG Tin 9 – Bài 3) – Ngăn xếp đơn điệu và bẫy các giá trị bằng nhauKhá
  39. Bảng thi đua (Đề tự luyện HSG Tin 12 – Bài 3) – Nén giá trị offline, Fenwick tree và tìm phần tử thứ kKhá
  40. Dãy Số (CAU3)Khá
  41. Biểu Thức Bằng K (EXPR)Khá
  42. Bài 29: Đường đi ngắn nhất trong C++ và Python: Dijkstra, BFS 0-1, Floyd-Warshall và Bellman-FordKhá
  43. Bài 31: Cây Fenwick (BIT) và cây phân đoạn (Segment Tree) trong C++ và Python: truy vấn đoạn có cập nhậtKhá
  44. Bài 37: Sparse Table và Segment Tree lan truyền lười (lazy propagation) trong C++ và Python: RMQ O(1), cộng đoạn, gán đoạnKhá
  45. Bài 38: Chia căn (sqrt decomposition) và thuật toán Mo trong C++ và Python: truy vấn đoạn, đếm số giá trị phân biệtKhá
  46. Bài 44: Kỹ thuật trên cây trong C++ và Python: Euler tour kết hợp Fenwick, gộp tập nhỏ vào lớn (small-to-large) và DSU on treeKhá
  47. Bài 45: Tối ưu quy hoạch động trong C++ và Python: min tiền tố, hàng đợi đơn điệu, Convex Hull Trick, Li Chao tree, chia để trị tối ưuKhá
  48. Chuyên đề nâng cao 1: Hình học tính toán cơ bản trong C++ và Python: tích có hướng, giao hai đoạn thẳng, diện tích đa giác, bao lồiKhá
  49. Bài 47: Heavy-Light Decomposition (HLD) trong C++ và Python: truy vấn và cập nhật trên đường đi của cây, chuỗi nặng, LCA bằng HLDKhá
  50. Palindrome KépKhó
  51. Ăn BuffetKhó
  52. Chênh Lệch Lớn NhấtKhó
  53. Hội ChợKhó
  54. Đếm Phép Nhân (Thi thử HSG9 SQRTOJ 2025 – Ngày 1 Bài 3)Khó
  55. Công Ty (HSG12 Hà Nội 2023 Vòng 1 – Bài 4)Khó
  56. Smallest Missing Genetic Value in Each Subtree (LeetCode 2003)Khó
  57. Minimum Number of Operations to Make Array Continuous (LeetCode 2009)Khó
  58. Maximum Number of Ways to Partition an Array (LeetCode 2025)Khó
  59. Chia nhóm (Đề tự luyện HSG Tin quốc gia – Bài 1) – QHĐ kết hợp cây phân đoạn và hai ngăn xếp đơn điệuKhó
  60. Cáp quang (Đề tự luyện HSG Tin quốc gia – Bài 2) – Cây Steiner động: thứ tự DFS, set và LCAKhó
  61. Kho lúa (Đề tự luyện HSG Tin quốc gia – Bài 3) – QHĐ chia đoạn, Convex Hull Trick và Aliens trickKhó
  62. Lập đội (Đề tự luyện HSG Tin 12 – Bài 5) – QHĐ chia đoạn với Segment Tree lazy và hai ngăn xếp đơn điệuKhó

Bài tổng hợp và luyện thêm

🏁

Những bài kết hợp nhiều kỹ thuật, hoặc chưa xếp vào chặng nào ở trên. Bạn dùng phần này để luyện phản xạ như khi đi thi thật.

0/111

  1. Bài 14: Tổng ôn series Nhập môn lập trình và đề thi thử 6 câu có lời giải chi tiết (C++ và Python)Dễ
  2. Bài 9: Độ phức tạp thuật toán, đọc ghi file và cách bài được chấm trên Online Judge (AC, WA, TLE)Dễ
  3. Bài 3: Câu lệnh điều kiện rẽ nhánh if, else, else if, switch trong C++ và PythonDễ
  4. Bài 1: Lập trình là gì? Lập trình thuật toán để làm gì? Nên học C++ hay Python?Dễ
  5. Bài 22: Kỹ năng luyện thi lập trình: đọc giới hạn, tránh tràn số, debug, sinh test và chấm trâu (stress test)Trung bình
  6. Bài 32: Tổng ôn Thuật toán nâng cao: nhận dạng bài và đề thi thử 6 câu có lời giải C++ và PythonKhá
  7. Hướng dẫn tham gia Thi thử HSG Tin học hàng tuần trên ClueOJ (từ đăng ký tài khoản đến lúc vào phòng thi)
  8. Seri chia sẻ về ngành CNTT – Phần 1: Người chọn nghề hay Nghề chọn người?
  9. Bài 27: Vì sao Trung Quốc thống trị IOI? Hệ thống NOI và bài học cho Việt Nam
  10. Bài 26: Google Code Jam và Hash Code – Những kỳ thi huyền thoại đã khép lại
  11. Bài 25: Codeforces ra đời như thế nào? Mike Mirzayanov và sân chơi của hàng triệu lập trình viên
  12. Bài 24: Khi AI đi thi lập trình – Từ AlphaCode đến 12/12 bài tại ICPC World Finals
  13. Bài 23: Việt Nam ở ICPC World Finals qua các năm – Từ lần đầu dự thi đến tấm huy chương đầu tiên
  14. Bài 22: Phụ nữ trong lập trình thi đấu và Olympic Tin học Nữ sinh châu Âu (EGOI)
  15. Bài 21: Lịch sử ICPC World Finals – Những đội vô địch nhiều lần nhất
  16. Bài 20: Thần đồng thế hệ mới – Kevin Sun (ksun48), ainta và Benq
  17. Bài 19: Việt Nam ở IOI qua các năm – 23 HCV và hành trình hơn ba thập kỷ
  18. Bài 18: maroonrk (Riku Kawasaki) – HCV IOI hạng 4 và người ra đề AtCoder World Tour Finals
  19. Bài 17: Errichto (Kamil Dębowski) – Á quân Code Jam và "thầy giáo" YouTube của lập trình thi đấu
  20. Bài 16: Endagorion (Mikhail Tikhomirov) – Tuyển thủ, tác giả đề và huấn luyện viên ICPC
  21. Bài 15: Radewoosh (Mateusz Radecki) – 29 lần nhất vòng Codeforces, HCV IOI và ICPC
  22. Bài 14: Thế hệ vàng tin học Việt Nam – Những gương mặt HCV IOI và ICPC qua các thời kỳ
  23. Bài 13: Trần Xuân Bách (fextivity) – HCV IOI 2022 và nhà vô địch VNOI CUP 2024
  24. Bài 12: Bùi Hồng Đức – 2 HCV IOI và tấm huy chương ICPC World Finals đầu tiên của Việt Nam
  25. Bài 11: ecnerwala (Andrew He) – Nhà vô địch Hacker Cup 2021, á quân ICPC và "streamer" của lập trình thi đấu
  26. Bài 10: Um_nik (Alexey Danilyuk) – Nhà vô địch ICPC và câu nói "Hãy ngừng học thuật toán vô dụng"
  27. Bài 9: tomek (Tomasz Czajka) – Ông vua đầu tiên của TopCoder và kỹ sư phần mềm tàu Crew Dragon
  28. Bài 8: ACRush (Lâu Thiên Thành) – "Lâu giáo chủ" 2 lần vô địch Code Jam, CTO Pony.ai
  29. Bài 7: Petr Mitrichev (Petr) – Ông vua thời TopCoder, 4 lần vô địch TCO, 3 lần Hacker Cup
  30. Bài 6: rng_58 (Makoto Soejima) – Thiên tài IMO 42/42 và kiến trúc sư của AtCoder
  31. Bài 5: Benq (Benjamin Qi) – Hai lần vô địch IOI và người sáng lập USACO Guide
  32. Bài 4: jiangly (Jiang Lingyu) – Người thứ hai vượt 4000 rating Codeforces và "trường phái" code sạch
  33. Bài 3: William Lin (tmwilliamlin168) – Nhà vô địch IOI 600/600 và hiện tượng YouTube của lập trình thi đấu
  34. Bài 2: Khúc Anh Tuấn (ktuan) – Huyền thoại mở đường của lập trình thi đấu Việt Nam
  35. Bài 1: Gennady Korotkevich (tourist) – Huyền thoại sống của lập trình thi đấu
  36. Bài 27: Thu nhỏ ảnh mà không làm méo người – Thuật toán seam carving và quy hoạch động
  37. Bài 26: Xếp hàng vào thùng và chọn đơn cho xe giao hàng – Bài toán cái túi và bài toán xếp thùng
  38. Bài 25: Robot hút bụi đi khắp nhà như thế nào? BFS và bài toán phủ kín
  39. Bài 24: Bàn phím điện thoại đoán chữ bạn định gõ như thế nào? Cây Trie và mô hình n-gram
  40. Bài 23: Shazam nhận ra bài hát trong vài giây như thế nào? Dấu vân tay âm thanh và bảng băm
  41. Bài 22: Bầu cử và các cách đếm phiếu – Nghịch lý Condorcet và định lý Arrow
  42. Bài 21: Chia tiền nhóm sao cho ít lần chuyển khoản nhất? Thuật toán tham lam
  43. Bài 20: Spotify và YouTube nén âm thanh, video ra sao? Biến đổi Fourier giải thích đơn giản
  44. Bài 19: Đèn giao thông thông minh và luồng cực đại – Tìm nút cổ chai của thành phố
  45. Bài 18: Thang máy chọn tầng như thế nào? Thuật toán SCAN
  46. Bài 17: Xếp hàng ở siêu thị có thể tính trước? Lý thuyết hàng đợi
  47. Bài 16: Máy tính tạo số ngẫu nhiên thế nào? Từ xúc xắc trong game đến mã OTP
  48. Bài 15: Điện thoại nhận ra khuôn mặt bạn thế nào? Vector đặc trưng và khoảng cách
  49. Bài 14: Blockchain và Bitcoin hoạt động thế nào? Hàm băm và bằng chứng công việc
  50. Bài 13: Mã QR bị rách vẫn quét được? Bí mật của mã sửa lỗi Reed–Solomon
  51. Bài 12: Máy tính chơi cờ giỏi hơn người thế nào? Minimax, cắt tỉa alpha–beta và AlphaZero
  52. Bài 11: Chơi Wordle tối ưu bằng lý thuyết thông tin: entropy và thuật toán tìm kiếm
  53. Bài 10: Máy tính giải Sudoku trong tích tắc thế nào? Thuật toán quay lui và cắt nhánh
  54. Bài 9: Xếp lịch thi sao cho không ai bị trùng giờ? Bài toán tô màu đồ thị trong đời sống
  55. Bài 8: File ZIP nén dữ liệu như thế nào? Mã Huffman, LZ77 và thuật toán DEFLATE
  56. Bài 7: Shipper đi đường nào để giao hàng nhanh nhất? Bài toán người du lịch (TSP) trong đời sống
  57. Bài 6: Từ sửa lỗi chính tả đến giải mã DNA: khoảng cách chỉnh sửa và quy hoạch động
  58. Bài 5: Ứng dụng ngân hàng giữ tiền bạn an toàn thế nào? RSA, lũy thừa nhanh và hàm băm
  59. Bài 4: TikTok, YouTube, Netflix biết bạn thích gì? Thuật toán gợi ý hoạt động ra sao
  60. Bài 3: Vì sao Grab không luôn gọi tài xế gần nhất? Bài toán ghép cặp trên đồ thị hai phía
  61. Bài 2: Google xếp hạng hàng tỷ trang web thế nào? Thuật toán PageRank và chỉ mục ngược
  62. Bài 18: Thành tích Tin học giúp gì khi xét tuyển đại học và du học ngành Khoa học máy tính?
  63. Bài 17: Khi con chán học, mất động lực giữa chừng – Phụ huynh nên làm gì?
  64. Bài 1: Google Maps tìm đường nhanh nhất thế nào? Thuật toán Dijkstra và A* trong đời sống
  65. Bài 16: Hiểu rating Codeforces và VNOJ – Màu tên, thứ hạng và thế nào là con tiến bộ
  66. Bài 15: Con mê game – Có thể biến đam mê chơi game thành lập trình game không?
  67. Bài 14: Con nên học lập trình online hay học trực tiếp? Ưu nhược điểm của từng cách
  68. Bài 13: Mua máy tính nào cho con học lập trình? Cấu hình tối thiểu và có cần máy đắt không
  69. Bài 12: Học sinh giỏi Tin sau này làm nghề gì? Ngành học, lương và những con đường phía trước
  70. Bài 11: Lịch học một tuần mẫu cho học sinh luyện HSG Tin
  71. Bài 10: Lịch các kỳ thi Tin học năm học 2026–2027 phụ huynh cần biết
  72. Bài 9: Con thi trượt, nản – phụ huynh nên làm gì?
  73. Bài 8: Có ChatGPT rồi, con còn cần học lập trình? Dùng AI đúng cách để học
  74. Bài 7: Con đã học được gì sau 3 tháng? Cách phụ huynh đọc tiến bộ của con
  75. Bài 6: Học lập trình mà không hại mắt, hại giấc ngủ – cân bằng thời gian màn hình cho con
  76. Bài 5: Chọn thầy, chọn lớp lập trình cho con – 7 câu hỏi phụ huynh nên hỏi
  77. Bài 4: Con nên học ngôn ngữ lập trình nào trước? Scratch, Python hay C++
  78. Bài 3: Thi học sinh giỏi Tin cần chuẩn bị từ lớp mấy? Lộ trình theo từng cấp học
  79. Bài 2: Học thuật toán giúp gì cho tuyển sinh lớp 10 chuyên và đại học? (cập nhật 2026)
  80. Bài 1: Con có nên học lập trình thi đấu? Lợi ích, thử thách và cách bắt đầu đúng
  81. Bài 4: Dùng hệ thống chấm bài online cho lớp – ClueOJ, VNOJ và Codeforces dành cho giáo viên
  82. Bài 3: Tổ chức thi thử HSG Tin trong phòng máy – Bảng kiểm tra từ chuẩn bị máy đến chấm điểm
  83. Bài 2: Tạo bộ test chuẩn cho bài lập trình – Sinh test, đối chiếu lời giải trâu và đóng gói cho Themis
  84. Bài 1: Hướng dẫn cài đặt Themis – Phần mềm chấm bài lập trình offline cho giáo viên Tin học
  85. Đề thi HSG Tin học TP Hồ Chí Minh, Bình Dương, Bà Rịa – Vũng Tàu các năm: lớp 9, vào 10 chuyên Tin, THPT, Tin học trẻ
  86. Đề thi HSG Tin học Hà Tĩnh các năm: lớp 9, vào 10 chuyên Tin, THPT, Tin học trẻ
  87. Đề thi HSG Tin học Nghệ An các năm: lớp 9, vào 10 chuyên Tin, THPT, Tin học trẻ
  88. Đề thi HSG Tin học Hà Nội các năm: lớp 9, vào 10 chuyên Tin, THPT, Tin học trẻ
  89. Đề thi HSG Tin học Đà Nẵng, Quảng Nam các năm: lớp 9, vào 10 chuyên Tin, THPT, Tin học trẻ
  90. Đề thi HSG Tin học Đồng Tháp, Tiền Giang các năm: lớp 9, vào 10 chuyên Tin, THPT, Tin học trẻ
  91. Đề thi HSG Tin học Quảng Trị, Quảng Bình các năm: lớp 9, vào 10 chuyên Tin, THPT, Tin học trẻ
  92. Đề thi HSG Tin học Đắk Lắk, Phú Yên các năm: lớp 9, vào 10 chuyên Tin, THPT
  93. Đề thi HSG Tin học An Giang, Kiên Giang các năm: lớp 9, vào 10 chuyên Tin, THPT, Tin học trẻ
  94. Đề thi HSG Tin học Phú Thọ, Vĩnh Phúc, Hòa Bình các năm: lớp 9, vào 10 chuyên Tin, THPT, Tin học trẻ
  95. Đề thi HSG Tin học Thanh Hóa các năm: lớp 9, vào 10 chuyên Tin, THPT
  96. Đề thi HSG Tin học Lâm Đồng, Đắk Nông, Bình Thuận các năm: lớp 9, vào 10 chuyên Tin, THPT, Tin học trẻ
  97. Đề thi HSG Tin học Gia Lai, Bình Định các năm: lớp 9, vào 10 chuyên Tin, THPT, Tin học trẻ
  98. Đề thi HSG Tin học Khánh Hòa, Ninh Thuận các năm: lớp 9, vào 10 chuyên Tin, THPT, Tin học trẻ
  99. Đề thi HSG Tin học Quảng Ninh các năm: lớp 9, vào 10 chuyên Tin, THPT, Tin học trẻ
  100. Đề thi HSG Tin học Ninh Bình, Nam Định, Hà Nam các năm: lớp 9, vào 10 chuyên Tin, THPT, Tin học trẻ
  101. Đề thi HSG Tin học Quảng Ngãi, Kon Tum các năm: lớp 9, vào 10 chuyên Tin, THPT
  102. Đề thi HSG Tin học Cần Thơ, Sóc Trăng, Hậu Giang các năm: lớp 9, vào 10 chuyên Tin, THPT, Tin học trẻ
  103. Đề thi HSG Tin học Vĩnh Long, Bến Tre, Trà Vinh các năm: lớp 9, vào 10 chuyên Tin, THPT, Tin học trẻ
  104. Đề thi HSG Tin học Huế các năm: lớp 9, vào 10 chuyên Tin, THPT, Tin học trẻ
  105. Đề thi HSG Tin học Lào Cai, Yên Bái các năm: lớp 9, vào 10 chuyên Tin, THPT, Tin học trẻ
  106. Đề thi HSG Tin học Đồng Nai, Bình Phước các năm: lớp 9, vào 10 chuyên Tin, THPT, Tin học trẻ
  107. Đề thi HSG Tin học Bắc Ninh, Bắc Giang các năm: lớp 9, vào 10 chuyên Tin, THPT, Tin học trẻ
  108. Gói giải đề tuyển sinh 10 chuyên Tin Hà Nội 2024 – 2026
  109. Gói giải đề HSG Tin học lớp 9 TP.HCM 2008 – 2026
  110. Gói giải đề HSG Tin học lớp 9 Hà Nội 2005 &#8211; 2026
  111. Gói giải đề tuyển sinh 10 chuyên Tin Phổ thông Năng khiếu TP.HCM 2004 &#8211; 2026

Học nhanh hơn với người kèm

Tự học theo lộ trình này là hoàn toàn được. Nhưng nếu bạn cần người chữa bài, chỉ ra lỗi sai và lên kế hoạch ôn thi sát với đề của tỉnh mình, mình luôn sẵn sàng đồng hành.

Nếu thấy lộ trình hữu ích, bạn để lại một lời bình luận hoặc chia sẻ cho bạn bè cùng học nhé. Đó là động lực rất lớn để mình viết thêm nhiều bài nữa! 💪

Tự học thuật toán: khó ở đâu?
Đọc xong một bài giải là bước đầu. Phần lớn học sinh tự học sẽ gặp những trở ngại sau:
  • Không biết học gì trước, học gì sau, học lan man nên kiến thức bị hổng.
  • Bí bài không ai gỡ, ngồi cả buổi vẫn không ra rồi bỏ cuộc.
  • Code chạy được nhưng không đủ điểm, không biết sai ở đâu, chậm ở đâu.
  • Không có đề thi thử và người chấm, nên không biết mình đang ở mức nào.
  • Dễ nản giữa chừng khi không có ai theo sát.
Học cùng thầy Nam Sơn, các trở ngại đó được gỡ bỏ:
  • Lộ trình 111 buổi video sắp sẵn từ dòng code đầu tiên đến đề HSG thật của các tỉnh.
  • Thầy trực tiếp gỡ bí, chữa bài cho từng em qua nhóm Zalo riêng.
  • Hệ thống chấm bài tự động 24/7 và thi thử HSG hằng tuần để biết chính xác mình đang ở đâu.
  • Đóng học phí một lần, thầy kèm lâu dài: từ thi chuyên Tin đến HSG quốc gia và cả khi lên đại học.

Nhận xét