ĐÀ NẴNGTRƯỜNG THPT CHUYÊN LÊ QUÝ ĐÔN KỲ THI CHỌN HỌC SINH GIỎI KHU VỰC DUYÊN HẢI VÀ ĐỒNG BẰNG BẮC BỘ NĂM HỌC 2021 – 2022 Thời gian 180 phút không kể thời gian giao đề Tổng quan đề thi:
Trang 1SỞ GD&ĐT TP ĐÀ NẴNG
TRƯỜNG THPT CHUYÊN
LÊ QUÝ ĐÔN
KỲ THI CHỌN HỌC SINH GIỎI KHU VỰC DUYÊN HẢI VÀ ĐỒNG BẰNG BẮC BỘ
NĂM HỌC 2021 – 2022
Thời gian 180 phút (không kể thời gian giao đề)
Tổng quan đề thi:
Tên file chương trình
Tên file
dữ liệu vào
Tên file Kết quả ra Điểm
Bài 2 Di chuyển
Robot ROBOT.* ROBOT.INP ROBOT.INP 7 Bài 3 Chia nhóm GROUP.* GROUP.INP GROUP.OU
Chú ý: Dấu '*' được thay thế bởi PAS hoặc CPP của ngôn ngữ lập trình tương
ứng là Pascal hoặc C.
Bài 1: Kéo co
Lớp 11A5 có n học sinh ưu tú do thầy Ba làm chủ nhiệm Học sinh thứ i có sức khỏe là ai (|ai| <= 109) Sinh hoạt trại 26.3, nhà trường tổ chức cuộc thi kéo co giữa các lớp và mỗi lớp được chọn tối đa n học sinh
Yêu cầu: Hãy giúp thầy Ba chọn ra các bạn học sinh sao cho tổng sức khoẻ của
các bạn được chọn là lớn nhất có thể Lưu ý thầy Ba sẽ chọn từ trái sang phải vì bạn thứ i (1 <= i <= n) chỉ hợp với các bạn từ Li đến Ri (i < Li <= Ri <= n), vậy nên nếu thầy chọn bạn thứ i thì học sinh tiếp theo thầy chọn phải nằm trong [Li, Ri]
Dữ liệu vào: Từ file văn bản TUG.INP
- Dòng đầu là một số tự nhiên n ( n <= 105)
- n dòng tiếp theo gồm 3 số ai, Li, Ri ( 1 <= i <= n, |ai| <= 109, i < Li <= Ri)
Lưu ý:
Trang 2Li = Ri = 0 tức là bạn thứ i không hợp với ai trong lớp.
Dữ liệu đảm bảo Ln = Rn = 0
Dữ liệu ra: Ghi ra file văn bản TUG.OUT
Một dòng duy nhất là số nguyên tổng sức khoẻ lớn nhất của các bạn học sinh lớp 11A5 được thầy Ba chọn
Ví dụ:
10
3 7 9
-8 4 6
17 4 9
-4 8 9
-8 6 8
-3 9 9
4 8 9
-6 10 10
4 10 10
14 0 0
39
Ràng buộc:
• Subtask 1: 60% số điểm tương ứng với điều kiện n ≤ 5000
• Subtask 2: 40% số điểm tương ứng với điều kiện n <= 105
Bài 2: Di chuyển Robot
Robot nằm trên một tấm bảng hình chữ nhật kích thước n∗m (n hàng, m cột, gồm n * m ô) Các hàng trong bảng được đánh số từ 1 đến n từ trên xuống dưới
và các cột đánh số từ 1 đến m từ trái sang phải Ô (i, j) nằm trên hàng thứ i và cột thứ j Robot có thể đứng ở một ô và di chuyển từ ô hiện tại sang một trong bốn ô liền kề Mỗi ô trên bảng được gán một số nguyên Mỗi ô có một trong các
kí hiệu 'L', 'R', 'D' hoặc 'U' được viết trên đó, cho biết hướng mà robot sẽ di chuyển khi ở trong ô đó - trái, phải, xuống hoặc lên, tương ứng Robot có thể bắt
đầu di chuyển ở bất kì ô nào Sau đó Robot di chuyển đến hình vuông liền kề
theo hướng được chỉ ra ở hình vuông hiện tại và di chuyển 1 lần
• Nếu robot di chuyển vào một ô chứa số nguyên nó sẽ nhận giá trị đó và mỗi ô chỉ được nhận duy nhất 1 lần (Sau khi nhận giá trị từ ô đó thì giá trị của ô đó bằng không).
Trang 3• Nếu robot di chuyển ra ngoài mép bảng hình chữ nhật, robot sẽ bị rơi và vỡ.
• Nếu robot xuất hiện trong ô mà nó đã truy cập trước đó, nó sẽ bị hỏng (dừng lại và không di chuyển nữa)
Robot có thể chọn bất kỳ ô nào làm ô bắt đầu Mục tiêu của nó là nhận được giá
trị lớn nhất trước khi ngắt hoặc dừng
Yêu cầu: Hãy xác định xem robot sẽ bắt đầu chuyển động từ ô vuông nào để
nhận được giá trị lớn nhất có thể.
Dữ liệu vào: Từ file văn bản ROBOT.INP
- Dòng đầu tiên chứa 2 số nguyên dương n và m (1 ≤ n ≤ 2000;1 ≤ m ≤ 2000) - thể hiện chiều cao và chiều rộng của bảng
- n dòng tiếp theo, dòng thứ i gồm m số nguyên ai,1,ai,2,ai,3, ,ai,m (0 ≤ ai, j≤
109)
- n dòng, dòng thứ i là một xâu gồm m kí tự thuộc cái kí tự 'L', 'R', 'D' và 'U'
Dữ liệu ra: Ghi ra file văn bản ROBOT.OUT
In ra ba số nguyên r, c và d (1 ≤ r ≤ n; 1 ≤ c ≤ m; d ≥ 0), biểu thị rằng robot sẽ bắt đầu di chuyển từ ô (r,c) để thực hiện số lần di chuyển tối đa Nếu có nhiều đáp án, hãy đưa bất kỳ đáp án nào
Ví dụ:
4 6
6 1 6 1 4 4
4 0 2 6 1 5
1 7 4 6 3 9
5 7 8 3 5 8
RURULD
LDULDD
RUURUL
RLULUD
4 4 24
Ràng buộc:
• Subtask 1: 50% số điểm tương ứng với điều kiện n,m ≤ 50
• Subtask 2: 50% số điểm tương ứng với điều kiện n,m ≤ 2∗103
Bài 3: Chia nhóm
Trang 4Cho hai dãy a và b gồm N số nguyên, các phần tử của b đôi một khác nhau Ta tìm cách chia nhóm các phần tử của a, mỗi nhóm có ít nhất 2 phần tử Trong mỗi
nhóm, số điểm đạt được là phần tử ai sở hữu bi cao thứ hai trong nhóm
Yêu cầu: Hãy tìm cách chia dãy a thành các nhóm liên tiếp sao cho đạt được
tổng số điểm của các nhóm là cao nhất.
Dữ liệu vào: Từ file văn bản GROUP.INP
• Dòng đầu tiên chứa số nguyên dương N (2≤n≤3∗105) thể hiện số phần tử trong hai dãy a và b
• Dòng thứ hai chứa n số nguyên a1,a2,a3, ,an (|ai|≤109)
• Dòng thứ hai chứa n số nguyên b1,b2,b3, ,bn (|bi|≤109)
Dữ liệu ra: Ghi ra file văn bản GROUP.INP
• Một số nguyên duy nhất là kết quả của bài toán
Ví dụ:
5
1 2 3 5 4
1 5 3 2 4
8 Ta chia các phần tử
thành 2 nhóm Nhóm 1 gồm các phần tử [1,2,3] và nhóm 2 gồm [5,4] Khi đó số điểm đạt được là 3+5=8
5
-3 4 -10 2 7
1 4 3 2 5
4 Phương án tối ưu nhất là chỉ
gồm 1 nhóm duy nhất Khi đó số điểm đạt được là 4
Ràng buộc:
• Subtask 1: 40% số điểm tương ứng với điều kiện N≤1000
• Subtask 2: 60% số điểm còn lại không có điều kiện gì thêm
-HẾT Giáo viên
Nguyễn Hữu Siêu
Trang 5Điện thoại: 0905 146 538