Lộ trình luyện thi Học sinh giỏi môn Tin học
- 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
- 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
- Luyện tổng hợp