HSG THPT Lào Cai 2025-2026
SỞ GIÁO DỤC VÀ ĐÀO TẠO
LÀO CAI
ĐỀ CHÍNH THỨC
(Đề thi có 04 trang, gồm 05 câu)
KỲ THI CHỌN HỌC SINH GIỎI CẤP TỈNH THPT
Năm học 2025 - 2026
Môn: Tin học - Ngày thi: 27/01/2026
Thời gian: 180 phút (không kể thời gian giao đề)
Tổng quan về đề thi
Phần tiêu đề “Tổng quan về đề thi”| Câu | Tên chương trình | Dữ liệu vào, ra | Điểm |
|---|---|---|---|
| Câu 1 | Cau1.* | Sử dụng vào, ra chuẩn | 5,0 |
| Câu 2 | Cau2.* | Sử dụng vào, ra chuẩn | 4,0 |
| Câu 3 | Cau3.* | Sử dụng vào, ra chuẩn | 4,0 |
| Câu 4 | Cau4.* | Sử dụng vào, ra chuẩn | 4,0 |
| Câu 5 | Cau5.* | Sử dụng vào, ra chuẩn | 3,0 |
Dấu * là đại diện cho phần mở rộng, được thay bằng pas hoặc cpp hoặc py tùy theo ngôn ngữ lập trình được sử dụng là Pascal hoặc C++ hoặc Python.
Câu 1. Ước số (5,0 điểm)
Phần tiêu đề “Câu 1. Ước số (5,0 điểm)”Cho hai số nguyên dương a và b. Hãy đếm số lượng ước nguyên dương của tích a và b.
Dữ liệu vào từ bàn phím gồm:
- Dòng 1: chứa số nguyên dương T (T ≤ 10⁴) là số lượng bộ số (a, b).
- T dòng tiếp theo, mỗi dòng chứa một bộ số nguyên dương a, b (a, b ≤ 10⁶).
Kết quả ghi ra màn hình:
- Gồm T dòng, mỗi dòng chứa một số nguyên là số lượng ước nguyên dương của tích a và b tương ứng với dữ liệu vào.
Ví dụ:
| Dữ liệu vào | Kết quả | Giải thích |
|---|---|---|
22 46 7 | 48 | - Tích của 2 × 4 = 8, số 8 có 4 ước nguyên dương. - Tích của 6 × 7 = 42, số 42 có 8 ước nguyên dương. |
Ràng buộc:
- Có 80% số test có T = 1; a, b ≤ 10³.
- Có 20% số test còn lại có T = 10⁴; a, b ≤ 10⁶.
Câu 2. Tìm chuỗi kí tự (4,0 điểm)
Phần tiêu đề “Câu 2. Tìm chuỗi kí tự (4,0 điểm)”Bảng chữ cái tiếng Anh in hoa gồm: 26 kí tự từ ‘A’ đến ‘Z’; có 5 nguyên âm là ‘A’, ‘E’, ‘I’, ‘O’, ‘U’; các kí tự còn lại là phụ âm. Cho một xâu S chỉ gồm các chữ cái in hoa.
- Bài toán loại 1: đếm số cách chọn bộ ba vị trí (i, j, k) trong xâu S để ghép đúng thứ tự chọn và tạo thành xâu “HSG”. Với 1 ≤ i < j < k ≤ L; L là độ dài xâu S.
- Bài toán loại 2: yêu cầu như Bài toán loại 1, nhưng có thêm ràng buộc là các kí tự có vị trí ở giữa bộ 3 chỉ số đó không là kí tự nguyên âm.
Dữ liệu vào từ bàn phím:
- Dòng 1: chứa số nguyên dương T. Nếu T = 1 thì giải bài toán loại 1. Nếu T = 2 thì giải bài toán loại 2.
- Dòng 2: chứa xâu S có độ dài không quá 10⁵.
Kết quả ghi ra màn hình:
- Ghi ra kết quả giải bài toán tương ứng với dữ liệu vào.
Ví dụ 1:
| Dữ liệu vào | Kết quả | Giải thích |
|---|---|---|
1HSEHSG | 3 | Giải bài toán loại 1: có 3 bộ vị trí tìm được là (1, 2, 6); (1, 5, 6); (4, 5, 6) ghép được xâu “HSG”. |
Ví dụ 2:
| Dữ liệu vào | Kết quả | Giải thích |
|---|---|---|
2HSEHSG | 1 | Giải bài toán loại 2: có 1 bộ vị trí tìm được là (4, 5, 6) ghép được xâu “HSG”. |
Ràng buộc:
- Có 40% test có T = 1, xâu S dài không quá 100 kí tự.
- Có 40% test khác có T = 2, xâu S dài không quá 100 kí tự.
- Có 20% test còn lại có xâu S dài không quá 10⁵ kí tự.
Câu 3. Chọn số (4,0 điểm)
Phần tiêu đề “Câu 3. Chọn số (4,0 điểm)”Bạn Dũng viết lên bảng N số nguyên dương a₁, a₂, …, a_N khác nhau đôi một. Biết rằng, dãy con tăng độ dài L là dãy được định nghĩa:
- 1 ≤ k₁ < k₂ < … < k_L ≤ N; L ≥ 2;
- a_(k₁) < a_(k₂) < … < a_(k_L).
Hai dãy con tăng của dãy ban đầu được gọi là khác nhau nếu có ít nhất một phần tử khác nhau.
Bạn Dũng có một số nguyên dương X, bạn ấy sẽ thực hiện các nhiệm vụ khác nhau:
- Nếu X ≤ N thì bạn Dũng sẽ đếm số lượng cách chọn X số chẵn từ dãy trên.
- Nếu X > N thì bạn Dũng sẽ đếm số lượng dãy con tăng khác nhau có tổng lớn hơn hoặc bằng X.
Dữ liệu vào từ bàn phím gồm:
- Dòng 1: chứa số nguyên dương N và X (X ≤ 10¹⁸).
- Dòng 2: chứa N số nguyên dương a₁, a₂, …, a_N (aᵢ ≤ 10⁹, 1 ≤ i ≤ N).
Kết quả ghi ra màn hình:
- Số nguyên dương duy nhất là kết quả tìm được tương ứng với dữ liệu đầu vào.
Ví dụ 1:
| Dữ liệu vào | Kết quả | Giải thích |
|---|---|---|
6 21 2 3 4 6 16 | 6 | Có 6 cách chọn 2 số chẵn từ dãy a là: {2,4}, {2,6}, {2,16}, {4,6}, {4,16}, {6, 16}. |
Ví dụ 2:
| Dữ liệu vào | Kết quả | Giải thích |
|---|---|---|
4 61 2 3 4 | 7 | Có 7 dãy con tăng có tổng lớn hơn hoặc bằng 6 là: {1, 2, 3}, {1, 2, 4}, {1, 3, 4}, {2, 3, 4}, {2, 4}, {3, 4}, {1, 2, 3, 4} |
Ràng buộc:
- Có 40% số test có N ≤ 10⁶; X = 1; X ≤ N.
- Có 40% số test khác có N ≤ 50; 2 ≤ X ≤ N.
- Có 20% số test còn lại có 2 ≤ N ≤ 20; X > N.
Câu 4. Trung vị của dãy số (4,0 điểm)
Phần tiêu đề “Câu 4. Trung vị của dãy số (4,0 điểm)”Cho dãy số gồm N số nguyên dương a₁, a₂, … a_N. Trung vị của một dãy số có N là phần tử ở vị trí ⌊(N+1)/2⌋ của dãy số đó sau khi đã sắp xếp.
Bạn cần trả lời Q lệnh hỏi trên dãy số ban đầu, mỗi lệnh hỏi cho bởi cặp số [L, R] và yêu cầu tìm trung vị của dãy con liên tiếp được giới hạn bởi chỉ số đầu là L và chỉ số cuối là R.
Ví dụ: dãy a gồm các số 15, 6, 8, 11, 7. Kết quả lệnh hỏi [1, 2] là 6; kết quả lệnh hỏi [2, 5] là 7; kết quả lệnh hỏi [1, 5] là 8.
Dữ liệu vào từ bàn phím gồm:
- Dòng 1: chứa số nguyên dương N và Q (N, Q ≤ 10⁵).
- Dòng 2: chứa N số nguyên dương a₁, a₂, … a_N (với aᵢ ≤ 10⁹, 1 ≤ i ≤ N).
- Q dòng tiếp theo, mỗi dòng chứa hai số nguyên L và R (1 ≤ L ≤ R ≤ N).
Kết quả ghi ra màn hình:
- Gồm Q dòng, mỗi dòng là kết quả của một lệnh hỏi tương ứng với dữ liệu vào.
Ví dụ:
| Dữ liệu vào | Kết quả | Giải thích |
|---|---|---|
5 325 36 8 11 171 22 51 5 | 251117 | Kết quả lệnh hỏi [1,2] là 25. Kết quả lệnh hỏi [2,5] là 11. Kết quả lệnh hỏi [1,5] là 17. |
Ràng buộc:
- Có 30% số test có N, Q ≤ 500.
- Có 30% số test khác có N, Q ≤ 10⁴.
- Có 40% số test còn lại không có giới hạn gì thêm.
Câu 5. Gặp gỡ (3,0 điểm)
Phần tiêu đề “Câu 5. Gặp gỡ (3,0 điểm)”Đất nước Z có n thành phố, các thành phố được đánh số từ 1 đến n. Có đúng n − 1 con đường hai chiều nối giữa các thành phố thỏa mãn điều kiện: có thể đi từ thành phố bất kì đến tất cả các thành phố còn lại theo đường trực tiếp hoặc gián tiếp qua các thành phố khác.
Đất nước Z thường có các sự kiện văn hóa lớn, mỗi lần sự kiện sẽ được tổ chức tại một thành phố, điều này ảnh hưởng tới chi phí di chuyển trên các con đường. Cụ thể, nếu thành phố u là thành phố tổ chức sự kiện văn hóa, khi đó các con đường hướng tới thành phố u sẽ có chi phí là a còn các con đường đi xa thành phố u sẽ có chi phí là b. Con đường từ thành phố i tới thành phố j được gọi là hướng tới u nếu đường đi ngắn nhất từ i tới u dài hơn đường đi ngắn nhất từ j tới u, ngược lại thì con đường từ i tới j được gọi là đi xa thành phố u.
Khi sự kiện văn hóa diễn ra, một người di chuyển qua s con đường sẽ bị mất chi phí bằng tổng của từng lần di chuyển, lần di chuyển thứ k (1 ≤ k ≤ s) sẽ mất chi phí k × costₖ, trong đó costₖ bằng a hoặc b tùy thuộc lần di chuyển thứ k đi qua con đường hướng tới thành phố tổ chức sự kiện hay đi xa thành phố tổ chức sự kiện.
Một câu hỏi thường gặp ở đất nước Z là: nếu sự kiện văn hóa diễn ra tại thành phố u, có hai người ở thành phố i và thành phố j thì chi phí nhỏ nhất để hai người đó gặp nhau tại một thành phố nào đó là bao nhiêu?
Yêu cầu: Cho thông tin về các con đường của đất nước Z và q câu hỏi, mỗi lệnh hỏi được mô tả bằng 5 số u, i, j, a, b. Hãy tìm chi phí nhỏ nhất để hai người gặp nhau.
Dữ liệu vào từ bàn phím gồm:
- Dòng 1: chứa số nguyên dương n và q (n, q ≤ 10⁵).
- n − 1 dòng tiếp theo, mỗi dòng chứa số nguyên dương x và y - mô tả có con đường nối thành phố x với thành phố y (1 ≤ x, y ≤ n, x ≠ y).
- q dòng tiếp theo, mỗi dòng chứa 5 số nguyên dương u, i, j, a, b (1 ≤ u, i, j ≤ n; i ≠ j; a, b ≤ 10⁶).
Kết quả ghi ra màn hình:
- Gồm q dòng, mỗi dòng ghi kết quả tương ứng với lệnh hỏi đầu vào.
Ví dụ:
| Dữ liệu vào | Kết quả | Giải thích |
|---|---|---|
8 21 25 65 34 38 23 17 53 3 2 5 25 8 7 8 12 | 680 | Lệnh hỏi 1: Hai người gặp nhau ở thành phố 2 Chi phí của người thứ nhất: 2 + 2 × 2 = 6. Chi phí của người thứ hai: 0 Tổng chi phí là: 6. Lệnh hỏi 2: Hai người gặp nhau ở thành phố 3 Chi phí người thứ nhất: 8 + 8 × 2 + 8 × 3 = 48. Chi phí người thứ hai: 8 + 12 × 2 = 32. Tổng chi phí là: 80. |

Ràng buộc:
- Có 20% số test với n, q ≤ 100.
- Có 20% số test khác có n, q ≤ 1000.
- Có 20% số test khác có n ≤ 2000, q ≤ 10⁵.
- Có 20% số test khác có n, q ≤ 10⁵ và b ≥ n × a.
- Có 20% số test còn lại không có ràng buộc bổ sung.
- Thí sinh không được sử dụng tài liệu.
- Cán bộ coi thi không giải thích gì thêm.