1. Cẩm nang Lập trình Thi đấu
  2. Hướng dẫn sử dụng
  3. Giới thiệu
  4. Mục lục
  5. Giới thiệu về lập trình thi đấu
  6. Lập trình C++
    1. Hello world!
    2. Biến và kiểu dữ liệu
    3. Nhập - xuất dữ liệu
    4. Các toán tử
    5. Câu lệnh rẽ nhánh
    6. Câu lệnh lặp
    7. Cấu trúc
    8. Mảng
    9. Hàm
    10. Bộ tiền xử lí
  7. Nhập môn lập trình thi đấu
    1. Độ phức tạp thuật toán
    2. Thao tác xử lí bit
    3. Thuật toán sắp xếp
    4. Thuật toán tìm kiếm nhị phân
    5. Kĩ thuật hai con trỏ
  8. Cấu trúc dữ liệu
    1. Ngăn xếp (Stack)
    2. Hàng đợi (Queue)
    3. Hàng đợi hai đầu (Deque)
    4. Bảng thưa
    5. Bảng băm (Hash Table)
    6. Heap
    7. Cây tìm kiếm nhị phân (Binary Search Tree)
    8. Cây phân đoạn (Segment Tree)
    9. Cây chỉ số nhị phân - Cây Fenwick
    10. Disjoint Set Union
  9. Các mô hình thuật toán
    1. Duyệt toàn bộ
    2. Tham lam
    3. Chia để trị
    4. Quy hoạch động
  10. Lí thuyết đồ thị
    1. Đồ thị
    2. Các thuật toán tìm kiếm trên đồ thị
      1. Thuật toán tìm kiếm theo chiều sâu (DFS)
      2. Thuật toán tìm kiếm theo chiều rộng (BFS)
      3. Ứng dụng của thuật toán tìm kiếm
    3. Các thuật toán tìm đường đi ngắn nhất
      1. Thuật toán Dijkstra
      2. Thuật toán Bellman-Ford
      3. Thuật toán Floyd-Warshall
    4. Thuật toán sắp xếp Tô-pô
    5. Cây khung nhỏ nhất
    6. 2-SAT
    7. Đường đi Euler
    8. Cây
      1. Kĩ thuật chu trình Euler
      2. Tổ tiên chung gần nhất
      3. Kĩ thuật phân tách nặng-nhẹ (Heavy-Light Decomposition)
      4. Kĩ thuật phân tách trọng tâm (Centroid Decomposition)
    9. Luồng trên mạng
      1. Các thuật toán tìm luồng cực đại trên mạng
      2. Luồng với chi phí cực tiểu
      3. Ứng dụng của luồng trên mạng
  11. Toán học
    1. Kiến thức nền tảng
    2. Lí thuyết số
      1. Số nguyên tố
      2. Ước chung lớn nhất - Bội chung nhỏ nhất
      3. Phi hàm Euler
      4. Modulo
      5. Luỹ thừa nhị phân
    3. Đại số tổ hợp
    4. Ma trận
    5. Hình học
  12. Xử lí xâu
    1. Xâu kí tự
    2. Các bài toán kinh điển
    3. Băm xâu
    4. Thuật toán Knuth-Morris-Pratt (KMP)
    5. Thuật toán Z
    6. Thuật toán Manacher
    7. Mảng hậu tố
    8. Trie
  13. Khác
    1. Chia căn
    2. Cấu trúc dữ liệu rollback
    3. Cấu trúc dữ liệu persistent
    4. Tối ưu quy hoạch động
      1. Quy hoạch động chữ số
      2. Quy hoạch động bitmask
      3. Quy hoạch động Sum over Subsets (SoS)
      4. Quy hoạch động chia để trị
      5. Quy hoạch động bao lồi
      6. Quy hoạch động trên DAG
      7. Quy hoạch động trên cây
      8. Các phương pháp tối ưu khác
    5. Trình chấm bài
  14. Lời cảm ơn