Đề thi và Đáp án Kỳ thi chọn Học sinh giỏi Quốc gia THPT môn Tin học qua các năm

docx 437 trang ducduy 19/08/2025 130
Bạn đang xem 30 trang mẫu của tài liệu "Đề thi và Đáp án Kỳ thi chọn Học sinh giỏi Quốc gia THPT môn Tin học qua các năm", để tải tài liệu gốc về máy hãy click vào nút Download ở trên.

Tóm tắt nội dung tài liệu: Đề thi và Đáp án Kỳ thi chọn Học sinh giỏi Quốc gia THPT môn Tin học qua các năm

Đề thi và Đáp án Kỳ thi chọn Học sinh giỏi Quốc gia THPT môn Tin học qua các năm
 Đề thi và Đáp án Kỳ thi chọn Học sinh giỏi Quốc gia THPT môn Tin học qua các năm - 
 DeThiHay.net
 ĐỀ SỐ 3
 BỘ GIÁO DỤC & ĐÀO TẠO KỲ THI CHỌN HỌC SINH GIỎI QUỐC GIA 
 THPT - NĂM HỌC 2023-2024
 ĐỀ CHÍNH THỨC Môn: TIN HỌC
 Thời gian: 180 phút (Không kể thời gian giao đề)
 TỔNG QUAN ĐỀ THI
 Tiêu đề File chương trình File dữ liệu File kết quả
Câu 1 Ba đường truyền điện THREE.* THREE.INP THREE.OUT
Câu 2 Cải thiện đánh giá IMPEVAL.* IMPEVAL.INP IMPEVAL.OUT
Câu 3 Thu mua nông sản FBUY.* FBUY.INP FBUY.OUT
Dấu * được thay thế bởi PAS hoặc CPP tương ứng với ngôn ngữ lập trình Pascal hoặc 
C++.
Hãy lập trình giải các câu sau:
Câu 1. Ba đường truyền điện (7,0 điểm)
Quốc gia Alpha có một trang trại điện gió được quy hoạch bởi một bảng vuông N hàng và N 
cột. Các hằng được đánh số từ 1 tới N từ trên xuống dưới, các cột được đánh số từ 1 tới N từ 
trái sang phải. Trang trại có M trạm sản xuất điện gió được đánh số từ 1 tới M. Trạm thứ 
i(1 ≤ i ≤ M) được đặt tại ô thuộc hàng Ri, cột Ci và có công suất sản xuất là Wi oát. Chủ trang 
trại mới ký hợp đồng cung cấp điện cho đối tác. Trang trại sẽ phải lắp ba đường truyền điện, 
mỗi đường truyền đi qua một hàng hoặc một cột trong bảng. Các đường truyền có thể cắt 
nhau nhưng không được trùng nhau. Tổng công suất cung cấp cho đối tác là tổng công suất 
của các trạm điện nằm trên ít nhất một trong ba đường truyền. Trang trại cần tìm ra cách lắp 
đặt ba đường truyền để tổng công suất cung cấp là lớn nhất có thể.
Ngoài ra, công ty có Q phương án điều chỉnh. Phương án điều chỉnh thứ j(1 ≤ j ≤ Q) là tăng 
công suất của trạm Tj thêm một lượng Dj oát và giữ nguyên công suất Wi oát như hiện trạng 
ban đầu của mọi trạm i khác Tj. Lưu ý, các phương án là độc lập, nghĩa là các phương án đều 
chỉ áp dụng lên hiện trạng ban đầu của trang trại.
Yêu cầu: Hãy đưa ra tổng công suất lớn nhất có thể khi lắp ba đường truyền với hiện trạng 
ban đầu của trang trại và trong Q phương án điều chỉnh.
Dữ liệu
Vào từ file văn bản THREE. INP:
- Dòng đầu ghi một số nguyên dương T là số lượng trường hợp test.
- Mỗi nhóm dòng trong số T nhóm dòng tiếp theo mô tả một trường hợp test có cấu trúc như 
sau:
 DeThiHay.net Đề thi và Đáp án Kỳ thi chọn Học sinh giỏi Quốc gia THPT môn Tin học qua các năm - 
 DeThiHay.net
- Dòng thứ nhất chứa ba số nguyên N, M và Q lần lượt là kích thước bảng, số lượng trạm 
điện và số lượng phương án điều chỉnh (3 ≤ N ≤ 109; 3 ≤ M ≤ 105; 1 ≤ Q ≤ 105).
- Dòng thứ i trong số M dòng tiếp theo chứa ba số nguyên Ri, Ci và Wi lần lượt là vị trí hàng, 
vị trí cột và công suất của trạm điện thứ i. Dữ liệu bảo đảm không có hai trạm nào đặt tại 
 9
cùng một ô (1 ≤ Ri, Ci ≤ N; 1 ≤ Wi ≤ 10 ).
- Dòng thứ j trong số Q dòng tiếp theo chứa hai số nguyên Tj và Dj thể hiện phương án điều 
 18
chỉnh tăng công suất thêm Dj oát cho trạm điện thứ Tj(1 ≤ Tj ≤ M ; 1 ≤ Dj ≤ 10 ).
- Gọi ∑M và ∑Q tương ứng là tổng của tát cả các giá trị M và Q trong tất cả T trường hợp 
 5
test. Dữ liệu bảo đảm 1 ≤ ∑M , ∑Q ≤ 2 x 10 .
Các số trên cùng một dòng cách nhau bởi dấu cách.
Kết quả
Ghi ra file văn bản THREE.OUT:
- Gồm T nhóm dòng, mỗi nhóm dòng là kết quả của trường hợp test tương ứng có cấu trúc 
sau:
- Dòng thứ nhất ghi ra một số nguyên dương là tổng công suất lớn nhất tìm được với hiện 
trạng trang trại ban đầu.
- Dòng thứ j trong số Q dòng tiếp theo ghi ra tổng công suất lớn nhất tìm được với phương 
án điều chỉnh thứ j.
Ví dụ
 THREE. INP THREE.OUT Giải thích
2 17 Xét trường hợp test thứ nhất:
5 7 2 19 - Với hiện trạng ban đầu, một cách tối ưu là lắp ba 
1 1 1 24 đường truyền ở cột 1, cột 2 và cột 5. Tổng công suất 
3 1 2 6 cung cấp là 17.
2 2 3 7 - Với phương án điều chỉnh thứ nhất, một cách tối ưu 
4 2 4 là lắp ba đường truyền đo hàng 2, cột 2 và cột 5. Tổng 
2 4 2 công suất cung cấp là 19.
1 5 5 - Với phương án điều chỉnh thứ hai, một cách tối ưu là 
3 5 2 lắp ba đường truyền ở hàng 1, hàng 3 và cột 2. Tổng 
5 3 công suất cung cấp là 24.
 Cột
2 7 Hàng 1 2 3 4 5
3 3 1 1 1 5
1 1 1 2 3 2 → 5
1 2 2 3 2 2
1 3 3 4 4
3 1 5
 DeThiHay.net Đề thi và Đáp án Kỳ thi chọn Học sinh giỏi Quốc gia THPT môn Tin học qua các năm - 
 DeThiHay.net
 Cột
 Hàng 1 2 3 4 5
 1 1 5
 2 3 2
 3 2 → 9 2
 4 4
 5
Ràng buộc:
(1) Có 20% số test ứng với 20% số điểm thỏa mãn: N, M, Q ≤ 40 và T = 1.
(2) 20% số test khác ứng với 20% số điểm thỏa mãn: N, M, Q ≤ 100 và T = 1.
(3) 20% số test khác ứng với 20% số điểm thỏa mãn: N, M, Q ≤ 500 và T = 1.
(4) 20% số test khác ứng với 20% số điểm thỏa mãn: M, Q ≤ 1000 và ∑M, ∑Q ≤ 2000.
(5) 10% số test khác ứng với 10% số điểm thỏa mãn: M ≤ 1000 và ∑M ≤ 2000.
(6) 10% số test còn lại ứng với 10% số điểm: Không có ràng buộc gì thêm.
Câu 2: Cải thiện đánh giá (7,0 điểm)
Quốc gia Beta có N thành phố được đánh số từ 1 đến N. Các thành phố được nối với nhau 
bởi M con đường hai chiều, được đánh số từ 1 đến M, giữa hai thành phố bất kỳ có tối đa 
một con đường nối trực tiếp chúng. Con đường hai chiều số i(1 ≤ i ≤ M) nối trực tiếp giữa 
hai thành phố phân biệt Ui và Vi có độ dài Wi. Một đường đi gồm K thành phố từ thành phố 
X tới thành phố Y là một chuỗi các thành phố P1, P2, . , PK, sao cho P1 = X, PK = Y và có 
con đường trực tiếp giữa hai thành phố Pi và Pi+1(∀i = 1,2, , K – 1).
Ở quốc gia Beta, mọi thành phố đều có đường đi tới thành phố khác. Chi phí di chuyển của 
một đường đi từ thành phố X tới thành phố Y là tổng độ dài của các con đường trên đường đi 
đó. Gọi D(X, Y) là chi phí di chuyển nhỏ nhất trong số các chi phí di chuyển của các đường 
đi từ thành phố tới thành phố Y. Quy ước D(X, X) = 0 với mọi thành phố X.
Thành phố số 1 có một nhà máy đúc khuôn và thành phố số 2 có một nhà máy sản xuất mạ 
tĩnh điện. Một doanh nghiệp muốn chọn một thành phố nào đó để mở một trung tâm chế tạo 
thép trang trí sử dụng nguyên liệu từ nhà máy đúc khuôn và nhà máy sản xuất mạ tĩnh điện. 
Thành phố Y được gọi là tốt hơn hoặc tương đương so với thành phố X khi và chỉ khi
D(Y, 1) ≤ D(X,1) và D(Y, 2) ≤ D(X, 2). Lưu ý, thành phố X được xem là tốt hơn hoặc tương 
đương so với chính nó. Doanh nghiệp tính hạng của thành phố X là số lượng thành phố 푌 tốt 
hơn hoặc tương đương so với thành phố X. Cụ thể, công thức tính hạng là:
R(X) = |{Y ∈ {1,2,, N}: D(Y,1) ≤ D(X,1) và D(Y,2) ≤ D(X,2)}|
 DeThiHay.net Đề thi và Đáp án Kỳ thi chọn Học sinh giỏi Quốc gia THPT môn Tin học qua các năm - 
 DeThiHay.net
Ngoài ra, doanh nghiệp cũng cam kết với chính quyền địa phương rằng trước khi đặt trung 
tâm chế tạo thép ở thành phố X nào đó, họ sẽ cải tạo một con đường nối với thành phố X. 
Doanh nghiệp đã khảo sát và đưa ra 푃 phương án. Với phương án thứ j(1 ≤ j ≤ P), con đường 
Tj nối giữa thành phố UTj và VTj sẽ được chọn để cải tạo giúp cho độ dài mới W'Tj bé hơn độ 
dài ban đầu WTj. Với mỗi phương án, sau khi cải tạo đường, doanh nghiệp cần tính hạng của 
thành phố UTj và thành phố VTj. Các phương án là độc lập, nghĩa là các phương án đều chỉ áp 
dụng lên hiện trạng ban đầu của M con đường.
Yêu cầu: Với phương án thứ j(1 ≤ j ≤ P) hãy giúp doanh nghiệp tìm ra hạng của thành phố 
UTj và thành phố VTj sau khi cải tạo con đường Tj.
Dữ liệu
Vào từ file văn bản IMPEVAL.INP:
- Dòng đầu chứa ba số nguyên N, M và P lần lượt là số lượng thành phố, số lượng con đường 
và số lượng phương án (2 ≤ N ≤ 105 ; 1 ≤ M, P ≤ 105).
- Dòng thứ i trong số M dòng tiếp theo chứa ba số nguyên Ui, Vi và Wi lần lượt là hai thành 
phố được nối bởi con đường số i và độ dài của con đường này (1 ≤ Ui, Vi ≤ N ; 1 ≤ Wi ≤ 
109).
- Dòng thứ j trong số P dòng tiếp theo chứa hai số nguyên Tj và W'Tj lần lượt là chỉ số con 
đường được lên phương án cải tạo và độ dài sau khi cải tạo (1 ≤ Tj ≤ M; 1 ≤ W'Tj < WTj).
Các số trên cùng một dòng cách nhau bởi dấu cách.
Kết quả
Ghi ra file văn bản IMPEVAL.OUT:
- Gồm P dòng, trong đó dòng thứ j ghi ra hai số nguyên R (UTj) và R (VTj) tương ứng là hạng 
của thành phố UTj và thành phố VTj nếu phương án thứ j được triển khai.
Ràng buộc
(1) Có 20% số test ứng với 20% số điểm thỏa mãn: M, P ≤ 1000.
(2) 20% số test khác ứng với 20% số điểm thỏa mãn: Mỗi thành phố có nhiều nhất 2 con 
đường nối với thành phố khác.
(3) 20% số test khác ứng với 20% số điểm thỏa mãn: Mọi con đường đều nối với thành phố 
số 1 hoặc thành phố số 2.
(4) 20% số test khác ứng với 20% số điểm thỏa mãn: M = N – 1.
(5) 20% số test còn lại ứng với 20% số điểm: Không có ràng buộc gì thêm.
Ví dụ
IMPEVAL.INP IMPEVAL.OUT Giải thích
5 6 2 1 2 - Với con đường số 5 có độ dài mới bằng 2, thành 
1 5 8 1 1 phố số 3 có hạng 1 do chỉ có duy nhất thành phố 
5 2 10 số 3 tốt hơn hoặc tương đương với thành phố số 3, 
1 3 6 thành phố số 4 có hạng 2 do có hai thành phố tốt 
 DeThiHay.net Đề thi và Đáp án Kỳ thi chọn Học sinh giỏi Quốc gia THPT môn Tin học qua các năm - 
 DeThiHay.net
3 2 12 hơn hoặc tương đương với nó là thành phố số 4 và 
3 4 3 thành phố số 5.
4 2 11 X 1 2 3 4 5
5 2 D (X, 1) 0 18 6 8 8
6 9 D (X, 2) 18 0 12 11 10
 - Với con đường số 6 có độ dài mới bằng 9, thành 
 phố số 4 và thành phố số 2 đều có hạng 1.
Câu 3: Thu mua nông sản (6,0 điểm)
Quốc gia Delta có nền nông nghiệp hàng đầu thế giới. Năm nay, nhờ ứng dụng công nghệ 
thông tin sâu rộng trong sản xuất nông nghiệp, nông dân quốc gia Delta đã được mùa lớn. Để 
chúc mừng thành công lớn của bà con cũng như đẩy mạnh việc xuất khẩu, chính phủ quyết 
định bố trí các xe thu mua nông sản từ khắp mọi nơi trên cả nước.
Trong quốc gia có N ngôi làng được đánh số từ 1 đến N. Mạng lưới giao thông tại đây gồm 
N - 1 con đường hai chiều, mỗi con đường nối trực tiếp hai ngôi làng nào đó. Các con đường 
này bảo đảm sự liên thông toàn quốc. Nói cách khác, từ một ngôi làng bất kỳ có thể đi tới tất 
cả các ngôi làng còn lại thông qua một hoặc nhiều con đường. Người dân tại quốc gia Delta 
có khả năng sản xuất được K loại nông sản khác nhau, được đánh số từ 1 đến K. Năm nay, 
người dân tại ngôi làng thứ i(1 ≤ i ≤ N) sản xuất loại nông sản thứ Ai.
 N x (N 1) 
Chính phủ quốc gia Delta sẽ bố trí xe tải đi thu mua nông sản. Cụ thể, với mỗi cặp 
 2
số nguyên (u, v) sao cho 1 ≤ u ≤ v ≤ N, có một xe tải xuất phát từ ngôi làng thứ u, đi qua một 
hoặc nhiều con đường rồi dừng lại ở ngôi làng thứ v. Biết rằng, xe tải luôn chọn đi theo 
tuyến đường qua ít con đường nhất có thể, và khi tới bất kỳ một ngôi làng nào (bao gồm cả 
hai ngôi làng thứ u và thứ v), xe tải sẽ thu mua 1 tấn nông sản được sản xuất tại ngôi làng đó. 
Nhờ mùa màng bội thu, tất cả các ngôi làng đều có đủ nông sản cho mọi xe đi qua thu mua.
Việc vận chuyển nông sản luôn phát sinh chi phí. Tùy theo đặc tính, chi phí vận chuyển từng 
loại nông sản có thể khác nhau. Theo tính toán của chính phủ, nếu trong toàn bộ hành trình, 
một xe tải thu mua được khối lượng nông sản các loại thứ 1,2,, K tương ứng là W1, W2,.., 
 2 2 2
WK tấn, chi phí vận chuyển của xe này là C1 x 푊1 + C2 x 푊2 +  + CK x 푊퐾, trong đó C1, 
C2 ,, CK tương ứng là hệ số chi phí vận chuyển của 퐾 loại nông sản thứ 1,2,, K. Chính 
 N x (N 1) 
phủ sẽ tài trợ toàn bộ chi phí vận chuyển, nên cần biết tổng chi phí của tất cả xe tải 
 2
này.
 DeThiHay.net Đề thi và Đáp án Kỳ thi chọn Học sinh giỏi Quốc gia THPT môn Tin học qua các năm - 
 DeThiHay.net
Ngoài ra, với niềm tin rằng nền nông nghiệp còn phát triển mạnh trong nhiều năm về sau, 
chính phủ muốn dự trù chi phí vận chuyển nông sản cho những năm tiếp theo. Theo kế 
hoạch canh tác trong Q năm tiếp theo, vào năm thứ j(1 ≤ j ≤ Q) ngôi làng thứ Tj sẽ chuyển 
qua sản xuất loại nông sản thứ Bj, trong khi N -1 ngôi làng còn lại sẽ tiếp tục canh tác loại 
nông sản như năm thứ j - 1 (năm nay được coi là năm thứ 0). Với mỗi năm, chính phủ muốn 
biết tổng chi phí vận chuyển nông sản nếu tiếp tục bố trí các xe tải thu mua như phương án ở 
trên.
Yêu cầu: Hãy viết chương trình tính tổng chi phí vận chuyển nông sản của chính phủ trong 
năm nay và trong Q năm tiếp theo, dựa trên kế hoạch thay đổi canh tác.
Dữ liệu
Vào từ file văn bản FBUY. INP:
- Dòng đầu chứa ba số nguyên N, K và Q lần lượt là số ngôi làng của quốc gia Delta, số loại 
nông sản được sản xuất tại đây và số năm trong kế hoạch canh tác
(1 ≤ K ≤ 20 ; 1 ≤ N, Q ≤ 2 x 105).
- Dòng thứ hai chứa N số nguyên 1, 2,, thể hiện loại nông sản chuyên được sản xuất 
tại các ngôi làng trong năm nay (1 ≤ 푖 ≤ 퐾,∀푖 = 1,2,, ).
- Dòng thứ ba chứa K số nguyên 1, 2,, 퐾 là hệ số chi phí vận chuyển của các loại nông 
 9
sản (1 ≤ 푖 ≤ 10 ,∀푖 = 1,2,,퐾).
- Mỗi dòng trong số N - 1 dòng tiếp theo chứa hai số nguyên x và y cho biết có một con 
đường hai chiều nối ngôi làng thứ x và ngôi làng thứ y.
- Dòng thứ j trong số Q dòng cuối cùng chứa hai số nguyên 푗 và 푗 với ý nghĩa: Vào năm 
thứ 푗 trong 푄 năm tiếp theo, ngôi làng thứ 푗 sẽ chuyển sang sản xuất loại nông sản thứ 푗 
1 ≤ 푗 ≤ ;1 ≤ 푗 ≤ 퐾 .
Các số trên cùng một dòng cách nhau bởi dấu cách.
Kết quả
Ghi ra file văn bản FBUY.OUT:
- Dòng đầu chứa một số nguyên là phần dư của tổng chi phí vận chuyển nông sản trong năm 
nay trong phép chia cho 998244353.
- Dòng thứ j trong số Q dòng còn lại chứa một số nguyên là phần dư của tổng chi phí vận 
chuyển nông sản trong năm thứ j trong phép chia cho 998244353.
Ràng buộc
(1) Có 7,5% số test ứng với 7,5% số điểm thỏa mãn: ≤ 30 và 푄 ≤ 800.
(2) 12,5% số test khác ứng với 12,5% số điểm thỏa mãn: ≤ 100 và 푄 ≤ 800.
(3) 10% số test khác ứng với 10% số điểm thỏa mãn: ≤ 2000 và 푄 ≤ 800.
(4) 15% số test khác ứng với 15% số điểm thỏa mãn: ≤ 5000 và 푄 ≤ 8000.
 DeThiHay.net Đề thi và Đáp án Kỳ thi chọn Học sinh giỏi Quốc gia THPT môn Tin học qua các năm - 
 DeThiHay.net
(5) 17,5% số test khác ứng với 17,5% số điểm thỏa mãn: Luôn tồn tại một con đường nối 
 푖 푖
ngôi làng thứ 푖 và ngôi làng thứ ,∀푖 = 2,3,, là số nguyên lớn nhất không vượt quá 
 2 2
푖 .
2
(6) 22,5% số test khác ứng với 22,5% số điểm thỏa mãn: Luôn tồn tại một con đường nối 
ngôi làng thứ 푖 và ngôi làng thứ 푖 ―1,∀푖 = 2,3,, .
(7) 15% số test còn lại ứng với 15% số điểm: Không có ràng buộc gì thêm.
Ví dụ
 FBUY.INP FBUY.OUT Minh hoạ mạng lưới giao thông
5 3 2 120
1 1 1 2 3 137
2 3 5 139
1 2
2 3
2 4
1 5
2 3
3 2
Giải thích
Trong năm nay, các ngôi làng thứ 1,2,3,4,5 lần lượt sản xuất các loại nông sản thứ 1,1,1,2,3. 
 5 x (5 1)
Có tất cả = 10 xe tải với các lộ trình vận chuyển và chi phí như sau:
 2
 Lượng nông sản thu mua theo 
Các ngôi làng đi qua Chi phí vận chuyển
 tấn (loại 1 , loại 2 , loại 3)
1 → 2 (2,0,0) 2 × 22 + 3 × 02 + 5 × 02 = 8
1 → 2 → 3 (3,0,0) 2 × 32 + 3 × 02 + 5 × 02 = 18
1 → 2 → 4 (2,1,0) 2 × 22 + 3 × 12 + 5 × 02 = 11
1 → 5 (1,0,1) 2 × 12 + 3 × 02 + 5 × 12 = 7
2 → 3 (2,0,0) 2 × 22 + 3 × 02 + 5 × 02 = 8
2 → 4 (1,1,0) 2 × 12 + 3 × 12 + 5 × 02 = 5
2 → 1 → 5 (2,0,1) 2 × 22 + 3 × 02 + 5 × 12 = 13
3 → 2 → 4 (2,1,0) 2 × 22 + 3 × 12 + 5 × 02 = 11
3 → 2 → 1 → 5 (3,0,1) 2 × 32 + 3 × 02 + 5 × 12 = 23
4 → 2 → 1 → 5 (2,1,1) 2 × 22 + 3 × 12 + 5 × 12 = 16
 DeThiHay.net Đề thi và Đáp án Kỳ thi chọn Học sinh giỏi Quốc gia THPT môn Tin học qua các năm - 
 DeThiHay.net
Tổng chi phí vận chuyển của các xe là: 8 + 18 + 11 + 7+ 8 + 5 + 13+ 11 + 23 + 16 = 120.
Theo kế hoạch canh tác các năm tiếp theo:
- Trong năm thứ 1, các ngôi làng thứ 1,2,3,4,5 sẽ lần lượt sản xuất các loại nông sản thứ 
1,3,1,2,3. Số lượng xe và lộ trình di chuyển của các xe vẫn giống như ở trên, nhưng tổng chi 
phí vận chuyển của các xe là: 7 + 13 + 10 + 7 + 7 + 8 + 22 + 10 + 28 + 25 = 137.
- Trong năm thứ 2, các ngôi làng thứ 1,2,3,4,5 sẽ lần lượt sản xuất các loại nông sản thứ 
1,3,2,2,3. Số lượng xe và lộ trình di chuyển của các xe vẫn giống như ở trên, nhưng tổng chi 
phí vận chuyển của các xe là: 7 + 10 + 10 + 7 + 8 + 8 + 22 + 17 + 25 + 25 = 139.
 ----------HẾT----------
 DeThiHay.net Đề thi và Đáp án Kỳ thi chọn Học sinh giỏi Quốc gia THPT môn Tin học qua các năm - 
 DeThiHay.net
 ĐÁP ÁN
Câu 1: Ba đường truyền điện (7,0 điểm)
- Subtask 1: Có 20% số test ứng với 20% số điểm thỏa mãn: , ,푄 ≤ 40 và 풯 = 1.
Duyệt tất cả các trường hợp: 3 đường dọc, 3 đường ngang, 2 dọc 1 ngang và 1 ngang 2 dọc. 
Số lượng 3 đường có thể chọn là ( 3), việc tính toán cho mỗi đường là ( ). Với mỗi 
truy vấn, cập nhật giá trị điểm và tính lại.
Độ phức tạp tính toán của thuật toán là ( 4 × 푄).
- Subtask 2: 20% số test khác ứng với 20% số điểm thỏa mãn: , ,푄 ≤ 100 và 풯 = 1.
Sử dụng việc tính trước tổng các hàng và các cột làm cho việc tính tổng 3 đường tính cả việc 
cập nhật là (1). Với mỗi truy vấn, độ phức tạp tính là ( 3).
Độ phức tạp tính toán của thuật toán là ( 3 × 푄).
- Subtask 3: 20% số test khác ứng với 20% số điểm thỏa mãn: , ,푄 ≤ 500 và 풯 = 1.
Ta có nhận xét rằng việc chọn 3 đường ngang hoặc 3 đường dọc tốt nhất chỉ mất độ phức tạp 
thuật toán là ( ). Còn với việc có 1 đường ngang (dọc) và 2 đường dọc (ngang), ta duyệt 
theo hàng ngang và cập nhật giá trị của 2 đường dọc tốt nhất. Độ phức tạp thuật toán cho mỗi 
truy vấn là ( 2).
Độ phức tạp tính toán của thuật toán là ( 2 × 푄).
- Subtask 4: 20% số test khác ứng với 20% số điểm thỏa mãn: ,푄 ≤ 1000 và 
Σ ,Σ푄 ≤ 2000. Cải tiến từ subtask 3 , ta sử dụng cấu trúc dữ liệu để cập nhật và truy vấn 2 
đường dọc tốt nhất sau khi cập nhật đường ngang. Thêm vào đó, ta sử dụng việc rời rạc hóa 
bài toán để số lượng đường cần duyệt là ( ). Độ phức tạp thuật toán cho mỗi truy vấn là 
 ( log ).
Độ phức tạp tính toán của thuật toán là ( log × 푄).
- Subtask 5: 10% số test khác ứng với 10% số điểm thỏa mãn: ≤ 1000 và Σ ≤ 2000.
Nhận xét là kết quả bài toán chỉ thay đổi khi 1 trong 3 đường đi qua điểm mới cập nhật. Nên 
ta sẽ tính trước tất cả kết quả tối ưu cho 2 đường còn lại. Khi đó, phương án tối ưu nếu buộc 
sử dụng điểm mới cập nhật là công suất tính trước cộng thêm công suất tăng thêm. Để tính 
trước 2 đường còn lại, ta duyệt 1 đường và tìm ra đường tối ưu còn lại bằng cấu trúc dữ liệu.
Số lượng trường hợp cần tính trước là ( 2). Độ phức tạp tính toán cho việc tính toán trước 
là 2log .
Dộ phức tạp tính toán của thuật toán là 2log + 푄 .
- Subtask 6: 10% số test còn lại ứng với 10% số điểm: 
 9 5 5
 ≤ 10 ; ,푄 ≤ 10 ;Σ ,Σ푄 ≤ 2 × 10 . Tương tự Subtask 5 , ta duyệt 1 đường và tìm 2 
dường tốt nhất còn lại. Nhưng với mỗi đường dọc ta chỉ cần lưu lại 2 đường đi có tổng lớn 
nhất mà không quan tâm đến tính dọc ngang của nó. Ta chỉ cần lưư trữ ( ) phương án, sử 
 DeThiHay.net Đề thi và Đáp án Kỳ thi chọn Học sinh giỏi Quốc gia THPT môn Tin học qua các năm - 
 DeThiHay.net
dụng cấu trúc dữ liệu việc tìm phương án mât (log ).
Độ phức tạp tính toán của thuật toán là ( log + 푄).
Câu 2: Cải thiện đánh giá (7,0 điểm)
- Subtask 1: Có 20% số test ứng với 20% số điểm thỏa mãn: ,푃 ≤ 1000.
Với mỗi truy vấn, ta thực hiện thuật toán tìm đường đi ngắn nhất Dijkstra hai lần với đỉnh 1 
và đỉnh 2. Độ phức tạp tính toán là (( + )log ). Sau đó, ta đếm từng đỉnh thỏa mãn 
điều kiện (1, ) ≤ (1, ) và (2, ) ≤ (2, ). Ta được thứ hạng của , làm tương tự với y. 
Độ phức tạp của bước này là ( ).
Độ phức tạp chung của thuật toán là (푄 × × log ) do ≤ +1.
- Subtask 2: Có 20% số test khác ứng với 20% số điểm thỏa mãn: Mỗi thành phố có nhiều 
nhất 2 con đường nối với thành phố khác.
Do đồ thị là liên thông nên chỉ có 2 trường hợp: Đồ thị là một đường thẳng hoặc đồ thị là 
một chu trình duy nhất.
+ Trong trường hợp đồ thị là một đường thẳng:
+ Nếu nằm trên đường đi từ 1 tới 2 thì hạng của là 1.
+ Nếu không nằm trên đường đi từ 1 tới 2:
+ Nếu ( ,1) ≤ ( ,2): ta dùng phương pháp tìm kiếm nhị phân với kết quả là số đỉnh gần 
1 hơn so với .
+ Nếu ( ,1) > ( ,2): ta dùng phương pháp tìm kiếm nhị phân với kết quả là số đỉnh gần 
2 hơn so với .
+ Trong trường hợp đồ thị là một chu trình: Sẽ có 2 đường đi khác nhau từ 1 tới 2. Ta áp 
dụng phương pháp tìm kiếm nhị phân trên 2 đường này để tính số đỉnh tốt hơn hoặc tương 
đương 푈 và .
Độ phức tạp tính toán là (푄 × log ).
- Subtask 3: Có 20% số test khác ứng với 20% số điểm thỏa mãn: Mọi con đường có một 
trong hai đầu mút là thành phố số 1 hoặc thành phố số 2 .
Với đồ thị dạng này, cạnh được cập nhật chi phí mới sẽ không làm thay đổi chi phí của các 
đỉnh khác. Với mỗi truy vấn, ta cập nhật giá trị ′( ,1) và ′( ,2). Bài toán quy về cho 
điểm ( , ) trên mặt phẳng, mỗi truy vấn cần đếm xem có bao nhiêu điểm ( , ) thỏa mãn 
 ≤ ( ,1) và ≤ ( ,2). Bài toán này ta có thể xử lý offline bằng cách sweep line theo tọa 
độ và dùng một cấu trúc dữ liệu dạng cây để đếm xem có bao nhiêu điểm có ≤ ( ,2) 
trong dộ phức tạp (log ).
Độ phức tạp chung của thuật toán là (푄 × log ).
- Subtask 4: Có 20% số test khác ứng với 20% số điểm thỏa mãn: Quốc gia Beta có đúng N-
1 con đường.
 DeThiHay.net

File đính kèm:

  • docxde_thi_va_dap_an_ky_thi_chon_hoc_sinh_gioi_quoc_gia_thpt_mon.docx