Khóa học mới: Lập trình thi đấu - Rank Bạc

Hôm nay LQDOJ chính thức ra mắt khóa học Lập trình thi đấu - Bạc — khóa học miễn phí và mở cho tất cả mọi người, dành cho những bạn đã đi qua khóa Đồng và muốn nâng trình lên một mức tiếp theo!

Vì sao có khóa học này?

Sau khi ra mắt hai khóa Lập trình thi đấu - Đồng và Lập trình thi đấu - Sắt, tụi mình nhận được rất nhiều câu hỏi kiểu "alo anh à anh, sau Đồng thì lên gì vậy anh?". Vì vậy, khóa học Lập trình thi đấu - Bạc ra đời như một bước tiếp theo trong lộ trình — nơi các bạn sẽ làm quen với những kỹ thuật trung cấp thường gặp trong các kỳ thi HSG, OLP, và các contest CP nói chung.

Khóa học này dành cho ai?

Nếu bạn đã hoàn thành khóa Đồng (hoặc đã vững các kiến thức: sắp xếp, tìm kiếm nhị phân, prefix sum, two pointers, greedy, BFS/DFS cơ bản, DP cơ bản) và muốn học những thuật toán "nặng đô" hơn thì đây là khóa học dành cho bạn. Bạn nên quen với C++ (khuyến nghị) hoặc Python.

Khóa học có gì?

Khóa Bạc tập trung vào các kỹ thuật trung cấp mà ai làm CP nghiêm túc cũng sẽ gặp:

  • Class & Struct — đóng gói code thành đối tượng, viết code gọn gàng và dễ tái sử dụng
  • Mảng tiền tố 2D & Difference Array
  • Cấu trúc dữ liệu STL: set, map, multiset
  • Stack, Queue và Monotonic Deque
  • Đếm đoạn con & cửa sổ với trạng thái phức tạp
  • Tìm kiếm nhị phân trên đáp án (Parametric Search)
  • Băm xâu (String Hashing) — polynomial hash, so sánh đoạn xâu trong \(O(1)\)
  • BFS/DFS trên lưới — Floodfill, Multi-source BFS, 0-1 BFS
  • Toán số học & tổ hợp — nghịch đảo modular, \(C(n, k) \bmod p\), sàng tuyến tính, bù trừ
  • Cây và DFS trên cây
  • Đường đi ngắn nhất — Dijkstra
  • Quy hoạch động nâng cao trên dãy & xâu (LIS \(O(n \log n)\), LCS, Edit Distance, Knapsack mở rộng)

Mỗi bài đều có lý thuyết chi tiết bằng tiếng Việt, code mẫu C++/Python, và bài tập từ dễ đến khó được chọn lọc kỹ từ nguồn bài tập trong LQDOJ.

Sau khóa học

Hoàn thành Bạc, bạn sẽ sẵn sàng cho khóa Vàng (Gold) — nơi tụi mình sẽ giới thiệu các thuật toán nâng cao hơn như DSU & Sắp xếp Topo, Segment Tree, DP trên cây, Strongly Connected Components, Heavy-Light Decomposition, v.v.

Cách tham gia

  • Vào trang khóa học: Lập trình thi đấu - Bạc
  • Bấm Tham gia (khóa học mở, ai cũng vào được)
  • Bắt đầu từ Bài 1 và học theo thứ tự
  • Hoàn thành 60% mỗi bài để mở khóa bài tiếp theo

Một vài lời khuyên

  • Đừng vội: Đọc kỹ lý thuyết và chạy tay ví dụ trước khi code — nhất là với các bài DP và đồ thị
  • Đừng nản: Bị WA (Wrong Answer) cả chục lần mới ra được một bài là chuyện hoàn toàn bình thường ở mức này
  • Giải đều đặn: Mỗi ngày 1-2 bài tốt hơn rất nhiều so với "cày" 10 bài một lúc rồi nghỉ 2 tuần
  • Hỏi khi cần: Nếu bí, hãy đọc lại lý thuyết, xem hint, hoặc hỏi mọi người trên diễn đàn

Hy vọng khóa học Lập trình thi đấu - Bạc sẽ giúp các bạn tự tin hơn khi bước vào những bài tập "khó hơn một chút" và tiến gần hơn tới mục tiêu của mình.

Nếu phần bài học nào các bạn thấy khó hiểu hoặc có thể cải thiện thêm thì inbox cuom1999 hoặc anhkha2003 nhé. Chúc các bạn học vui và tiến bộ mỗi ngày!

Bình luận (7)

Mới nhất
Tải bình luận...