Đây là bộ tài liệu quý giá dành cho các bạn học sinh đang trong lộ trình ôn luyện đội tuyển học sinh giỏi (HSG) môn Tin học lớp 12, cũng như các giáo viên đang tìm kiếm nguồn đề thi chất lượng để bồi dưỡng học sinh. Đề thi không chỉ đánh giá khả năng lập trình cơ bản mà còn yêu cầu tư duy thuật toán tối ưu, khả năng xử lý dữ liệu lớn và kỹ năng quản lý thời gian trong phòng thi.
Cấu trúc & Nội dung trọng tâm
Đề thi được thiết kế với thời gian làm bài là 150 phút, bao gồm 4 bài toán với độ khó tăng dần, bao phủ nhiều mảng kiến thức quan trọng trong lập trình thi đấu:
- Bài 1: Tổng chữ số (SUMN) - Tập trung vào kỹ năng xử lý số nguyên lớn (BigInt) hoặc xử lý xâu ký tự. Thử thách nằm ở việc xử lý số $N$ lên đến $10^{64}$, vượt xa khả năng lưu trữ của các kiểu dữ liệu số nguyên thông thường.
- Bài 2: Số lượng bội (MULT) - Kiểm tra kiến thức về toán học cơ bản và khả năng xử lý số nguyên 64-bit ($10^{18}$). Bài toán yêu cầu thuật toán tính toán nhanh để đáp ứng thời gian chạy trong nhiều bộ dữ liệu khác nhau.
- Bài 3: Tổng bằng 0 (ZERO) - Một bài toán điển hình về Mảng cộng dồn (Prefix Sum) kết hợp với Bảng băm (Hash Map). Yêu cầu tìm dãy con liên tiếp dài nhất có tổng bằng 0 với quy mô dữ liệu lên đến $10^6$ phần tử.
- Bài 4: Xâu con (SUBSTR) - Tập trung vào kỹ thuật xử lý xâu nhị phân và thuật toán Hai con trỏ (Two Pointers) hoặc Cửa sổ trượt (Sliding Window) để đếm số lượng xâu con chứa đúng $K$ ký tự "1".
Điểm nổi bật của tài liệu
Điểm khiến bộ đề thi này trở nên giá trị đối với người học và người dạy chính là:
- Ma trận điểm chi tiết: Các bài toán đều được chia thành các mức độ test (60% - 20% - 20%), giúp học sinh dễ dàng tiếp cận từ mức độ cơ bản đến nâng cao để tích lũy điểm số.
- Bám sát thực tế thi HSG: Cấu trúc đề thi chuẩn theo thể thức thi cấp tỉnh, sử dụng hệ thống chấm điểm Themis, rèn luyện cho học sinh thói quen quản lý file
.INP và .OUT.
- Yêu cầu tối ưu hóa cao: Các bài toán không chỉ yêu cầu kết quả đúng mà còn khắt khe về thời gian chạy (1s) và bộ nhớ (1024M), buộc học sinh phải suy nghĩ về độ phức tạp thuật toán ($O(N)$ hoặc $O(N \log N)$).
- Đầy đủ đáp án: Tài liệu cung cấp bảng test mẫu và hướng dẫn chấm, giúp giáo viên dễ dàng triển khai chấm bài và học sinh tự đối chiếu kết quả.
Hướng dẫn ôn tập & Lời khuyên học tập
Để khai thác tối đa hiệu quả từ tài liệu này, học sinh và giáo viên có thể áp dụng phương pháp sau:
Đối với học sinh:
- Bước 1: Tự giải đề trong đúng 150 phút để rèn luyện áp lực phòng thi.
- Bước 2: Với những bài không đạt điểm tối đa, hãy phân tích xem mình bị thiếu ở nhóm test nào (test nhỏ hay test lớn) để tìm ra điểm yếu trong thuật toán (ví dụ: dùng vòng lặp lồng nhau dẫn đến quá thời gian - TLE).
- Bước 3: Nghiên cứu các kỹ thuật Prefix Sum và Two Pointers vì đây là hai kỹ thuật then chốt để giải quyết Bài 3 và Bài 4.
Đối với giáo viên:
Có thể sử dụng đề thi này làm bài kiểm tra đánh giá năng lực giai đoạn giữa kỳ ôn luyện. Hãy khuyến khích học sinh viết mã nguồn sạch, tối ưu và hướng dẫn các em cách phân tích độ phức tạp của thuật toán trước khi bắt tay vào lập trình.