TRẠI HÈ HÙNG VƯƠNG LẦN THỨ XVI – ĐIỆN BIÊN 2022 KỲ THI CHỌN HỌC SINH GIỎI MÔN: TIN HỌC - KHỐI 10 Ngày thi: 12 tháng năm 2022 Thời gian làm bài: 180 phút (không kể thời gian giao đề) HƯỚNG DẪN GIẢI BÀI 1:HÌNH CHỮ NHẬT Subtask 1: Duyệt tất hình chữ nhật Kiểm tra đếm số đỉnh hình chữ nhật số nguyên tố Độ phức tạp Subtask 2: uyệt tất hình chữ nhật Việc kiểm tra đỉnh có phải số ngun tố hay khơng sử dụng sàng số nguyên tố Độ phức tạp Subtask 3: Duyệt cặp hàng Với cặp hàng ta cần đếm đó: + số lượng cột mà giao với hàng hàng số nguyên tố + số lượng cột mà giao với hàng hàng có số nguyên tố Ta có: Độ phức tạp BÀI 2: HOA BAN Gọi chiều cao ban Ban đầu Subtask 1: Mỗi truy vấn truy vấn ta phải thực hiện: + Tìm phần tử nhỏ từ phần tử đến phần tử + Cập nhật: Tăng phần tử tìm lên đơn vị Độ phức tạp Subtask 2: Rõ ràng, thời điểm dãy dãy giảm dần Việc tìm phần tử nhỏ từ đến chất tìm phần tử có giá trị sử dụng TKNP Do nên thao tác cập nhật Trang 1/4 Độ phức tạp Subtask 3: Với truy vấn thứ giả sử ta bón viên phân bón cho từ thứ trở Khi ta có = Trong đó: Nếu => Khơng thỏa mãn dãy giảm dần => Ta phải giảm giá trị Ngược lại ta cập nhật sau: + + Độ phức tạp Subtask 4: : Sử dụng phân đoạn có Lazy Độ phức tạp BÀI 3: DỊCH CHUYỂN VỊ TRÍ Subtask 1: Với Ta duyệt đệ qui với + thao tác thứ khơng làm + nháy chuột trái vào xạ thủ (xạ thủ dịch chuyển sang trái bước) + nháy chuột phải vào xạ thủ (xạ thủ dịch chuyển sang phải bước) Subtask 2: Với giây giây Cuội phải nháy chuột trái phải Trang 2/4 Xạ thủ thứ nháy chuột trái lần (nếu ) chuột phải (nếu ) Như toán trở thành: Trong giây cần chọn giây để nháy chuột xạ thủ thứ nhất, chọn giây để nháy chuột xạ thủ thứ hai, , chọn giây để nháy chuột xạ thủ thứ Đây tốn hốn vị lặp: Sabtask 3: Với Chỉ có xạ thủ Ta phải chọn lần nháy chuột để xạ thủ di chuyển vị trí, ngồi ta chọn vài lượt cho cặp thao tác (trái- phải) (phải - trái) khơng làm thay đổi đổi vị trí cuối xạ thủ thao tác nháy chuột trái = nháy chuột phải (Tạm gọi cặp thao tác “cân bằng”) +Ta thấy số lượt sử dụng thao tác di chuyển (số giây có nháy chuột) có giá trị + Ta duyệt số lượt sử dụng thao tác dịch chuyển, lượt là thao tác "Khơng làm cả" +Trong lượt, ta có lượt di chuyển theo hướng, thêm số cặp thao tác “cân bằng”, nên m lượt di chuyển ta phải chọn lần di chuyển hướng Vì ta tính kết sau: Sabtask 4: + Đặt , ý tưởng tương tự Subtask trước, duyệt qua số lượt sử dụng thao tác di chuyển Nhưng bây giờ, với cặp thao tác “cân bằng” ta phải chia vào xạ thủ khác nhau, với cách chia cơng thức tính lại khác + Gọi với ý nghĩa xét xạ thủ từ đến , đặt cặp thao tác “cân bằng” có cách để đặt + Ta có trạng thái , công thức truy hồi trạng thái sau: + Với trạng thái, ta duyệt qua số lượng cặp thao tác “cân bằng” dùng , có lần di chuyển, lại chọn lần di chuyển theo hướng + Với lượt để di chuyển, cần chọn lượt để di chuyển xạ thủ thứ nhất, sau chọn lượt để di chuyển xạ thủ thứ hai, Đây lại hốn vị lặp, nên ta cần tính lượng là: Trang 3/4 Do trạng thái xạ thủ thứ i, ta nhân thêm lượng Đến đây, ta tính kết cuối cho toàn bài: Trang 4/4 ... xạ thủ (xạ thủ dịch chuyển sang trái bước) + nháy chuột phải vào xạ thủ (xạ thủ dịch chuyển sang phải bước) Subtask 2: Với giây giây Cuội phải nháy chuột trái phải Trang 2/4 Xạ thủ thứ nháy chuột... Đây lại hoán vị lặp, nên ta cần tính lượng là: Trang 3/4 Do trạng thái xạ thủ thứ i, ta nhân thêm lượng Đến đây, ta tính kết cuối cho toàn bài: Trang 4/4