1. Trang chủ
  2. » Giáo án - Bài giảng

HD thuật toán (tuyên quang)

2 0 0

Đang tải... (xem toàn văn)

THÔNG TIN TÀI LIỆU

Thông tin cơ bản

Định dạng
Số trang 2
Dung lượng 373 KB

Các công cụ chuyển đổi và chỉnh sửa cho tài liệu này

Nội dung

Giải Subtask 1 Vét cạn tất cả các đường đi có thể trên bảng và cập nhật với kết quả lớn nhất.. Mỗi phương án có 9 bước.. Giải subtask 2 Sửa lại cách lấy tập giá trị.. Giải subtask 1 Khôn

Trang 1

TRƯỜNG THPT CHUYÊN

TUYÊN QUANG

KỲ THI HSG CÁC TRƯỜNG THPT CHUYÊN KHU VỰC DUYÊN HẢI VÀ ĐỒNG BẰNG BẮC BỘ

LẦN THỨ XIII, NĂM HỌC 2021 - 2022

ĐỀ THI MÔN: TIN HỌC 10

Câu 1: KHOBAU Trò chơi tìm kho báu

1.1 Giải Subtask 1

Vét cạn tất cả các đường đi có thể trên bảng và cập nhật với kết quả lớn nhất

Nghiệm: (x[1],y[1]) (x[2],y[2]) … (x[9],y[9]) với x[i], y[i] là tọa độ của ô ở bước thứ i

trên đường đi Mỗi phương án có 9 bước

Tập giá trị

* (x[1], y[1]) = (2, 2)

* (x[i], y[i]) (với 2 ≤ i ≤ 9) là 1 trong 4 ô kề với ô (x[i-1], y[i-1]) trước đó trên đường đi

và trước đó chưa đi qua

Dừng đệ quy: x[i],y[i] không có giá trị nào để nhận (không đi tiếp được)

Điều kiện nghiệm: nếu x[9],y[9] có giá trị thì cập nhật max.

1.2 Giải subtask 2

Sửa lại cách lấy tập giá trị

Tập giá trị

* (x[1], y[1]) là 1 trong 9 ô trên bảng x[1] = 1 3, y[1] = 1 3

* (x[i], y[i]) (với 2 ≤ i ≤ 9) là 1 trong 4 ô kề với ô (x[i-1], y[i-1]) trước đó trên đường đi

và trước đó chưa đi qua

Chú ý khởi tạo lại mảng cha[][] về 0 khi bắt đầu giải 1 test

Câu 2: HOICHO Hội chợ ẩm thực

2.1 Giải subtask 1

Không mất tổng quát ta có thể coi Bài toán được giải theo phương pháp qui hoạch động

Gọi là chi phí nhỏ nhất để phủ hết các gian hàng ta có

(*)

Trong đó là chi phí nhỏ nhất để phủ một tấm bạt che từ gian hàng đến gian hàng Có thể tính theo công thức:

Trang 1/2 HƯỚNG DẪN

ĐỀ THI ĐỀ XUẤT

Trang 2

Độ phức tạp O(n 2 m)

2.2 Giải subtask 2

Mảng G có thể được chuẩn bị trước trong thời gian và do vậy độ phức tạp chung của thuật toán là

Câu 3: HVCON Hình vuông con

3.1 Giải subtask 1

Duyệt tất cả các hình vuông k*k, với mỗi hình vuông ta tìm min của hình đó và cập nhật giá trị max của toàn bộ bảng

3.2 Giải subtask 2

 Gọi mảng ban đầu: a[][]

 Sử dụng dequeue ta dễ dàng tạo được các mảng:

 Tạo mảng mới b[][] sao cho b[i][ j] là giá trị nhỏ nhất của đoạn a[i-k+1, j], a[i-k+2, j],

…, a[i, j];

 Tạo mảng mới c[][] sao cho c[i][j] là giá trị nhỏ nhất của đoạn b[i, j-k+1], b[i, j-k+2],

…, b[i, j]

1 5 6 3 7  b[1][4] = 3

9 9 2 3 3  b[2][4] = 2

2 2 2 2 2  b[3][4] = 2

1 1 2 5 6  b[4][4] = 1

4 9 6 7 8  b[5][4] = 6

 Khi đó c[i][j] chính là giá trị nhỏ nhất của hình vuông *k k có góc phải dưới là (i, j).

Giá trị lớn nhất của c[i][j] ( k <= i <= m && k <= j <= n ) chính là kết quả bài toán

Trang 2/2

c[3][4] = 2 c[4][4] = 1 c[5][4] = 1

Ngày đăng: 20/10/2022, 23:26

TÀI LIỆU CÙNG NGƯỜI DÙNG

TÀI LIỆU LIÊN QUAN

🧩 Sản phẩm bạn có thể quan tâm

w