- Dấu * là CPP, PY hoặc PAS Câu 1: Danh sách Bé Lan rất thích tính toán với những con số, hôm nay bé nghĩ ra một bài toán với một số nguyên dương N.. Cho một số nguyên dương N, ban đầu
Trang 1TRƯỜNG THPT THỊ XÃ QUẢNG TRỊ KỲ THI HỌC SINH GIỎI VĂN HÓA LỚP 11 THPT
Khóa ngày 11 tháng 4 năm 2023
Môn thi: TIN HỌC
Thời gian làm bài: 180 phút, không kể thời gian giao đề
TỔNG QUAN BÀI THI
- Thí sinh tạo trên ổ đĩa D thư mục có tên là số báo danh, làm bài và lưu vào thư mục vừa tạo; Ví dụ: Thí
sinh có số báo danh là 10 sẽ tạo thư mục D:\10 và lưu bài làm vào thư mục này
- Dấu * là CPP, PY hoặc PAS
Câu 1: Danh sách
Bé Lan rất thích tính toán với những con số, hôm nay bé nghĩ ra một bài toán với một số nguyên dương N
Cho một số nguyên dương N, ban đầu bé có một danh sách rỗng Với các số nguyên dương i từ 1 đến N, ta thêm các số N/i (làm tròn xuống số nguyên gần nhất) vào danh sách Sau
khi có được danh sách đầy đủ thì bé đếm số lượng phần tử phân biệt trong danh sách đó
Ví dụ: với N=7 ta có với i từ 1 đến 7 thì N/i lần lượt là 7,3,2,1,1,1,1 Khi đó danh sách có 4 phần
tử phân biệt
Yêu cầu: Đếm số lượng phần tử phân biệt có trong danh sách
Dữ liệu vào: Đọc từ file DANHSACH.INP có cấu trúc:
Dòng đầu ghi số nguyên dương Q (Q ≤ 104) là số truy vấn
Q dòng tiếp theo, mỗi dòng là một số nguyên dương N biểu thị truy vấn tương ứng (N ≤
1012)
Kết quả: Ghi ra file DANHSACH.OUT gồm Q dòng mỗi dòng là kết quả cho truy vấn tương
ứng
Ví dụ:
2
7
9
4
5
Ràng buộc:
30% số điểm ứng với Q ≤ 100, N ≤ 100
20% số điểm ứng với Q ≤ 10, N ≤ 10 5
.
30% số điểm ứng với Q=1, N ≤ 10 9.
20% số điểm ứng với Q ≤ 10 4 , N ≤ 10 12
.
ĐỀ CHÍNH THỨC
Đề có 04 trang
Trang 2Câu 2: Hình chữ nhật
Hôm nay bé Na học về hệ tọa độ Descartes, trên mặt phẳng tọa độ này bé Na vẽ hai hình chữ nhật với các cạnh song song với hai trục tọa độ Bây giờ bé Na muốn tính xem phần diện
tích bị phủ bởi ít nhất một trong hai hình chữ nhật là bao nhiêu, các bạn hãy giúp bé Na nhé Yêu cầu: tính phần diện tích bị phủ bởi ít nhất một trong hai hình chữ nhật
Dữ liệu: Đọc từ file HCN.INP có cấu trúc:
Dòng đầu tiên là bốn số nguyên dương l1, b1, r1, t1 (1 ≤ l1 < r1 ≤ 109, 1 ≤ b1 < t1 ≤ 109), biểu thị hình chữ nhật đầu tiên có tọa độ góc trái dưới là (l1, b1) và góc phải trên là (r1,
t1)
Dòng thứ hai là bốn số nguyên dương l2, b2, r2, t2 (1 ≤ l2 < r2 ≤ 109, 1 ≤ b2 < t2 ≤ 109), biểu thị tương tự về hình chữ nhật thứ hai
Kết quả:
Ghi ra file văn bản HCN.OUT một số nguyên duy nhất là diện tích bị phủ bởi ít nhất một
trong hai hình chữ nhật
Ví dụ:
1 1 3 3
2 2 5 4
9
Ràng buộc:
40% số điểm tương ứng với l 1 , b 1 , r 1 , t 1 , l 2 , b 2 , r 2 , t 2 ≤ 1000
30% số điểm tương ứng với r 1 ≤ l 2
30% số điểm còn lại không có ràng buộc gì thêm
Câu 3: Xâu chị em
Trong tiết học lập trình hôm nay, An và Mai thách đấu nhau về kiến thức xâu, An định
nghĩa hai xâu chị em là hai xâu có tối đa một vị trí mà kí tự ở đó của chúng khác nhau
Ví dụ hai xâu HSG và HSG hay là ANIME và ALIME là các cặp xâu chị em, trong khi
đó IOI và IBM không phải là một cặp xâu chị em
Trang 3An có N xâu, với mỗi xâu đều có độ dài M và chỉ bao gồm các chữ cái Latin in hoa Các bạn hãy giúp An xác định trong N xâu thì có bao nhiêu cặp xâu chị em nhé!
Yêu cầu: Đếm số cặp xâu chị em trong N xâu cho trước
Dữ liệu vào: Đọc từ file XAU.INP:
Dòng đầu lần lượt là hai số nguyên dương N và M (N*M ≤ 5*105
).
N dòng tiếp theo mỗi dòng là một xâu có độ dài M
Kết quả: Ghi ra file XAU.OUT một số duy nhất là số cặp xâu chị em
Ví dụ:
5 6
SUKUNA
MEGUMI
MEGUMI
SUKURA
SAKURA
3
Giải thích: có ba cặp xâu chị em là (2,3), (1,4), (4,5)
Ràng buộc:
40% số test tương ứng với N,M ≤ 100
30% số test tương ứng với M ≤ 5 và các xâu chỉ gồm hai kí tự A và B
30% số điểm còn lại không có ràng buộc gì thêm
Câu 4: Dãy con
Ban đầu có một mảng N phần tử nguyên dương A1, A2, … , AN(1 ≤ Ai ≤ N) Ta gọi một dãy con của mảng là một dãy các phần tử liên tiếp của mảng Ta gọi độ khác biệt của một dãy con bắt đầu tại vị trí L và kết thúc tại R(1 ≤ L ≤ R ≤ N) là số vị trí i mà L ≤ i < R và Ai khác với
Ai+1
Ví dụ với N = 5, L=1, R=4 và mảng là 2 4 3 3 1 thì độ khác biệt của dãy con là 2
Ta lần lượt thực hiện hai loại thao tác trên mảng bao gồm :
- Thao tác loại 1: Cho hai vị trí L, R và một số nguyên dương X(1 ≤ L ≤ R ≤ N, 1 ≤ X ≤
N), sau đó với mọi vị trí i mà L ≤ i ≤ R thì gán Ai = X
- Thao tác loại 2: Cho hai vị trí L và R(1 ≤ L ≤ R ≤ N), yêu cầu tính độ khác biệt của dãy
con bắt đầu tại L và kết thúc tại R
Yêu cầu: Với mỗi truy vấn loại 2 thì hãy xác định độ khác biệt của dãy con tương ứng
Dữ liệu vào: Đọc từ file DAYCON.INP:
Dòng đầu ghi số nguyên dương N (N ≤ 4*105)
Dòng thứ hai là dãy số nguyên dương A1, A2, …., An (1 ≤ Ai ≤ N)
Dòng thứ ba là số nguyên dương Q (Q ≤ 4*105)
Q dòng tiếp theo mỗi dòng là một truy vấn, truy vấn loại 1 biểu thị dưới dạng 1 L R X,
truy vấn loại 2 biểu thị dưới dạng 2 L R
Kết quả: Ghi ra file DAYCON.OUT đáp án của các truy vấn loại 2 theo thứ tự với mỗi truy vấn
trên một dòng
Ví dụ:
Trang 4DAYCON.INP DAYCON.OUT
5
2 4 3 3 1
5
2 1 4
1 4 4 5
2 1 4
1 2 3 5
2 1 4
2
3
1
Giải thích:
- Ở truy vấn loại 2 đầu tiên thì mảng đang là 2 4 3 3 1, dãy con với L=1 và R=4 có độ khác biệt
là 2
- Ở truy vấn loại 2 thứ hai thì mảng đang là 2 4 3 5 1, dãy con với L=1 và R=4 có độ khác biệt
là 3
- Ở truy vấn loại 3 thứ ba thì mảng đang là 1 5 5 5 1, dãy con với L=1 và R=4 có độ khác biệt là
1
Ràng buộc:
30% số điểm ứng với N,Q ≤ 1000
20% số điểm ứng với việc không có truy vấn loại 1
20% số điểm ứng với việc chỉ có một truy vấn loại 2 duy nhất là truy vấn thứ Q
30% số điểm còn lại không có ràng buộc gì thêm
-HẾT -
(Thí sinh không được sử dụng tài liệu)
Họ và tên thí sinh:……….Số báo danh:……