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

HDC de de xuat duyen hai 2022

3 7 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 26,79 KB

Nội dung

TRƯỜNG THPT CHUYÊN KỲ THI HSG CÁC TRƯỜNG THPT CHUYÊN CHU VĂN AN KHU VỰC DUYÊN HẢI VÀ ĐỒNG BẰNG BẮC BỘ BÌNH ĐỊNH LẦN THỨ XI, NĂM HỌC 2021-2022 ĐỀ THI ĐỀ XUẤT ĐỀ THI MÔN: TIN HỌC 10 Thời gian 180 phút (không kể thời gian phát đề) Ngày thi: 14/7/2022 HƯỚNG DẪN THUẬT TOÁN Bài Bộ chữ CVA (6.0 điểm) Subtask 1,2: Duyệt với vòng for để đếm ĐPT O(n3) Subtask 3,4: Với giá trị i mà s[i] = 'V', ta xem thử trước i có chữ 'C' (lưu vào biến c), chữ 'A' sau i (lưu vào biến a) Khi đó, số CVA mà chữ V vị trí s[i] a*c, ta cộng dồn vào biến đếm ĐPT O(n) Bài Xếp đội hình (7.0 điểm) Subtask 1: Sinh cách xếp vị trí khác đối chiếu với vị trí ban đầu xem khác biệt vị trí chọn trường hợp Subtask 2: Chỉ có cách xếp: Cách 1: 10101010….10 Cách 2: 01010101….01 So sánh cách với trạng thái ban đầu xem thử trường hợp có số vị trí trùng nhiều (tức đổi chỗ hơn) Subtask 3: Gọi k số chữ số Bài tốn tương đương với tìm xâu nhị phân độ dài n có k chữ số 1, khơng có chữ số gần mà có số vị trí trùng với xâu s ban đầu nhiều Nếu 2k>n khơng có đáp án (viết -1) Trong xâu nhị phân độ dài i, có j kí tự 1, khơng có kí tự cạnh nhau, kí tự cuối t (t=0 1), ta chọn xâu có nhiều vị trí trùng với xâu s[1 i] Gọi F[i][j][t] số vị trí trùng nhiều F[1][0][0] = s[1]='0'; F[1][0][1] = s[1]='1'; Nếu s[i]='0' thì:  F[i][j][0]=max(F[i-1][j][0], F[i-1][j][1])+1;  F[i][j][1]=F[i-1][j-1][0]; Nếu s[i]='1' thì:  F[i][j][0]=max(F[i-1][j][0], F[i-1][j][1]);  F[i][j][1]=F[i-1][j-1][0]+1; Nếu F[n][k][1]>F[n][k][0] thì:  Lần ngược để tìm xâu kết x;  Nếu x[1]='0' T = F[n][k][1];  Nếu x[1] ≠ '0' T = F[n][k][0]; Nếu F[n][k][1] ≤ F[n][k][0] T = F[n][k][0]; Viết (n-T)/2 ĐPT O(n2) Bài Trò chơi (7.0 điểm) Subtask 1: Dùng kĩ thuật DFS Subtask 2: Dùng kĩ thuật BFS Gọi (x,y) trạng thái can có x lít, can có y lít Từ trạng thái (x,y), với lần đong nước, ta chuyển sang trạng thái (0,y), (a, y), (0, x+y) (x+y-b, b) (x,0), (x, b), (x+y, 0) (a, x+y-a); Mảng D[x][y] số bước để đạt đến trạng thái (x,y) D[][]=∞ hết, riêng D[0][0]=0; Đưa (0,0) vào queue Q; Trong Q không rỗng: Lấy trạng thái (x,y) khỏi Q; t = D[x][y]; Nếu x=c y=c x+y=c viết t kết thúc Nếu D[0][y] = ∞ thêm (0,y) vào Q D[0][y]=t+1; Nếu D[a][y] = ∞ thêm (a,y) vào Q D[a][y]=t+1; Nếu x+y ≤ b thì: oNếu D[0][x+y] = ∞ thêm (0,x+y) vào Q D[0][x+y]=t+1;  Nếu x+y > b thì:           oNếu D [x+y-b] [b] = ∞ thêm (x+y-b,b) vào Q D[x+y-b][b]=t+1; Nếu D[x][0] = ∞ thêm (x,0) vào Q D[x][0]=t+1; Nếu D[x][b] = ∞ thêm (x,b) vào Q D[x][b]=t+1; Nếu x+y ≤ a thì: oNếu D [x+y][0] = ∞ thêm (x+y,0) vào Q D[x+y][0]=t+1; Nếu x+y > a thì: oNếu D[a][x+y-a] = ∞ thêm (a,x+y-a) vào Q D[a][x+y-a] =t+1; Cuối cùng, viết -1 Giáo viên HD: Trần Hữu Nam SĐT: 0969 156 825

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

TỪ KHÓA LIÊN QUAN

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

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

TÀI LIỆU LIÊN QUAN

w