Lập trình thi đấu — Rank Vàng
Về khóa học này
Khóa Vàng tiếp nối khóa Bạc, gồm 20 bài học và 205 bài tập.
Mỗi bài có phần chính gồm lý thuyết cùng các ví dụ Cốt lõi, còn ví dụ Mở rộng gom về cuối bài; số ví dụ cụ thể ghi ở đầu từng bài.
Nội dung
- DSU và Kruskal: liên thông, cây khung nhỏ nhất.
- Topo, DP trên DAG, SCC và đồ thị co.
- Cầu và đỉnh khớp.
- DP trên cây và đổi gốc.
- Chia để trị và meet-in-the-middle.
- Chia căn, Mo, Fenwick, RMQ, Segment Tree và lazy propagation.
- Sweep Line; Euler tour, binary lifting và LCA.
- DP đoạn, DP đếm, bitmask và digit DP.
- KMP, Z và ứng dụng xử lý xâu.
- Euclid mở rộng và CRT.
- Hình học cơ bản: tích có hướng, giao đoạn và đa giác.
Yêu cầu
Cần có kiến thức khóa Bạc và biết viết code bằng C++ hoặc Python.
Ba mức ví dụ
Mỗi ví dụ được gắn một trong ba nhãn theo mức độ:
- Cốt lõi: ý chính của bài, cần nắm chắc.
- Vận dụng: đưa ý chính vào bài khó hơn một chút.
- Mở rộng: tình huống nâng cao, đưa ý chính đi xa hơn.