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

15 tin 11 lê quý đôn đà nẵng đáp án

3 4 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 3
Dung lượng 38 KB

Nội dung

SỞ 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 HƯỚNG DẪN CHẤM MÔN THI: TIN HỌC 11 Thời gian 180 phút (không kể thời gian giao đề) HƯỚNG DẪN CHẤM BÀI 1: Có 50 test, test 0.12 điểm Subtask 1: Gọi dp[i] tổng sức khoẻ lớn bạn học sinh th ầy Ba chọn người bạn thứ i Từ ta có cơng thức quy hoạch động sau: dp[i] = ai; dp[i] = max(dp[i], dp[j] + a[i]) (Li Đpt: O(n*logn) BÀI 2: Có 20 test, test 0.35 điểm Subtask 1: Với subtask ta duyệt hết tất n * m ô dùng thu ật toán DFS BFS ô để tính giá trị đường xuất phát từ ô (đường không n * m ô) độ phức tạp n ^ * m ^ = n ^ = 50 ^ = 6250000 có th ể ch ạy giây => Đpt: O(n4) Subtask 2: Ta xem ô bảng hình chữ nhật đỉnh thu ộc đ th ị Ta đưa toán DAG (đồ thị có hướng, khơng có chu trình) b ằng cách nén chu trình lại thành đỉnh lớn, với đỉnh lớn mang giá tr ị tổng giá tr ị đỉnh nhỏ bên Ta xếp topo đồ thị để có trật tự topo, v ới đỉnh đỉnh mà nối đến nằm phía sau sau s ắp x ếp topo Ta sử dụng quy hoạch động cách gọi f[u] giá tr ị l ớn nh ất c đường xuất phát trước đến đỉnh u cật nhập cho đỉnh phía sau d ựa vào danh sách kề Lưu ý: Vì robot dừng lại hết chu trình lúc dp c ần ki ểm tra xem đỉnh có phải đỉnh lớn khơng => Đpt: O(n2) BÀI 3: Có 100 test, test 0.07điểm Sub 1: Cày trâu với DP O(n2) Sub 2: Ta thấy n2 lớn để làm sub Vì ta cần cải tiến lên O(nlog(n)) cụ thể sử dụng cấu trúc liệu SegmentTree để thực trạng thái quy hoạch động Đặt dp[i] : Số điểm cao đạt chia i phần tử theo yêu cầu đề => Đáp án toán dp[n] Gọi f(L, R) số điểm đạt chia từ L đến R vào nhóm Để tính dp[i], sub ta cần chạy biến j từ i - để thực dp[i] = max(dp[i], dp[j] + f(j + 1, i)) Thao tác O(n) i cho thuật toán O(n 2), nhiên ta giảm độ phức tạp bước xuống O(logn) cách sử dụng cấu trúc SegmentTree, đủ tốt để vượt qua toán => Ta sử dụng SegmentTree để lưu lại giá trị mảng dp dãy Khi ta đứng vị trí i, giả sử i phần tử có giá trị b cao thứ hai nhóm Vì phần tử có giá trị b cao thứ nên tồn vị trí j có b[j] > b[i] Ta xét trường hợp j < i j > i => Thực thao tác Update giá trị đoạn Query Get Max đoạn để giải toán Giáo viên Nguyễn Hữu Siêu ... ta cần cải tiến lên O(nlog(n)) cụ thể sử dụng cấu trúc liệu SegmentTree để thực trạng thái quy hoạch động Đặt dp[i] : Số điểm cao đạt chia i phần tử theo yêu cầu đề => Đáp án toán dp[n] Gọi f(L,... ta giảm độ phức tạp bước xuống O(logn) cách sử dụng cấu trúc SegmentTree, đủ tốt để vượt qua toán => Ta sử dụng SegmentTree để lưu lại giá trị mảng dp dãy Khi ta đứng vị trí i, giả sử i phần... Ta xét trường hợp j < i j > i => Thực thao tác Update giá trị đoạn Query Get Max đoạn để giải toán Giáo viên Nguyễn Hữu Siêu

Ngày đăng: 21/10/2022, 00:09

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

  • Đang cập nhật ...

TÀI LIỆU LIÊN QUAN

w