Lộ trình luyện thi Học sinh giỏi môn Tin học

Lộ trình luyện thi Học sinh giỏi môn Tin học

  1. Cơ bản
    • Làm quen các khái niệm biến, hằng, phép toán, phép gán, nhập, xuất dữ liệu
    • Cấu trúc rẽ nhánh
    • Cấu trúc lặp: lặp đơn, lặp lồng nhau
    • Cấu trúc mảng: 1 chiều, 2 chiều
    • Chuỗi kí tự
    • Chương trình con: sử dụng chương trình con có sẵn trong thư viện, tự viết chương trình con
    • Các cấu trúc dữ liệu trong thư viện: pair, vector, set, map, stack, queue, priority_queue, deque,…
    • Các hàm phổ biến trong thư viện: tìm kiếm, sắp xếp
    • Hàm đệ quy
  2. Nâng cao
    • Độ phức tạp tính toán
    • Một số kĩ thuật tối ưu đơn giản:
    • Kĩ thuật đếm phân phối
    • Kĩ thuật hai con trỏ, dịch cửa sổ
    • Kĩ thuật mảng cộng dồn
    • Kĩ thuật tìm kiếm nhị phân nâng cao
    • Kĩ thuật loang trên mảng hai chiều
  • Các cấu trúc dữ liệu nâng cao
    • Cấu trúc dữ liệu đồ thị
    • DSU
    • Segment Tree
    • BIT
  • Một số chiến lược thiết kế thuật toán
    • Phương pháp duyệt toàn bộ
    • Phương pháp chia để trị (chủ đạo: tìm kiếm nhị phân nâng cao)
    • Phương pháp tham lam
    • Phương pháp Quy hoạch động
  • Đồ thị nâng cao
    • Phương pháp duyệt đồ thị và ứng dụng
      • DFS
      • BFS
      • Tìm thành phần liên thông
      • Bài toán tô màu, loang
      • Sắp xếp topo
      • Kiểm tra đồ thị hai phía
      • Cây và thứ tự thăm DFS
      • Khớp, cầu trên đồ thị vô hướng
      • Thành phần liên thông mạnh trên đồ thị có hướng
    • Cây khung nhỏ nhất
    • Đường đi ngắn nhất
    • Các thuật toán trên cây
    • Truy vấn trên cây
  • Toán
  • Xử lí chuỗi nâng cao
  1. Luyện tổng hợp