| # | Bài tập | Điểm | Thời gian: | Giới hạn bộ nhớ |
|---|---|---|---|---|
| 1 | Thao tác trên bảng (DHBB 2022) | 100 (p) | 1.0s | 256M |
| 2 | Thiết kế hệ thống đèn (DHBB 2022) | 100 (p) | 1.0s | 256M |
| 3 | Duyên hải Bắc Bộ 2022 - Khảo cổ khu Hoàng Thành | 100 (p) | 1.0s | 256M |
Cấu trúc dữ liệu là nội dung rất quan trọng trong khoa học máy tính. Trong chương trình giảng dạy cho các lớp chuyên Tin, nội dung cấu trúc dữ liệu được đưa vào nhiều chuyên đề. Một bài toán thao tác trên bảng được dùng để kiểm tra khả năng tổ chức dữ liệu và linh hoạt trong xử lí như sau: Cho một bảng số gồm \(m\) hàng và \(n\) cột, các hàng được đánh số từ trên xuống dưới từ \(1\) đến \(m\), các cột được đánh số từ trái sang phải từ \(1\) đến \(n\), ô nằm giao giữa hàng \(i\) (\(1 \leq i \leq m\)) và cột \(j\) (\(1 \leq j \leq n\)) gọi là ô \((i, j)\) và có giá trị ban đầu là \(a_{ij}\). Cần thực hiện \(Q\) thao tác trên bảng số, mỗi thao tác thuộc một trong hai loại:
Test 1
2 3 3
0 0 0
0 0 0
2 1 1 2 3
1 1 1 2 3 1
2 1 1 2 2
0
4
Để trang trí hội trường cho buổi khai mạc Duyên Hải năm 2022, Ban tổ chức đã sử dụng \(n\) đèn, nếu coi mỗi đèn là một đỉnh của đồ thị và dây nối giữa các đèn là cạnh thì hệ thống đèn tương ứng như một cây. Ban tổ chức đã ghi chép lại dãy các thông tin \(b_{1},b_{2},…,b_{n}\), trong đó \(b_{i} (1\le i\le n)\) tương ứng là số dây nối với đèn thứ \(i\), hay nói một cách khác \(b_{i}\) là bậc của đỉnh \(i\). Vì một lí do nào đó, Ban tổ chức đã vô tình làm mất thông tin của một số phần tử trong dãy thông tin \(b_{1},b_{2},…,b_{n}\). Để khôi phục lại các thông tin, Ban tổ chức đã nhờ đến Đào Quang Thái Dương (là cựu học sinh Chuyên Trần Phú, Huy chương Đồng APIO 2020). Rất nhanh chóng, Dương đã đếm được số lượng cách khác nhau điền thông tin vào các phần tử bị khuyết để nhận được dãy vẫn là dãy bậc của một cây nào đó.
Yêu cầu: Gọi s là số lượng cách điền thỏa mãn, hãy tính \(s\) % \((10^{9}+7)\), trong đó % là phép chia lấy dư để kiểm tra kết quả của Dương.
Test 1
3
-1 -1 1
2
Có hai cách điền thông tin:
Các nhà khảo cổ mới phát hiện ra một khu Hoàng Thành được xây dựng từ nhiều thế kỷ trước. Theo nhận định ban đầu, Hoàng Thành gồm nhiều căn phòng khép kín bởi bốn bức tường song song hoặc vuông góc với nhau. Để tiến hành nghiên cứu, các nhà khảo cổ đã xây dựng bản đồ các bức tường của khu Hoàng Thành. Cụ thể, bản đồ được mô tả trên mặt phẳng toạ độ Đề các vuông góc \(Oxy\), trong đó các bức tường là các đoạn thẳng song song với một trong hai trục tọa độ. Theo các dữ liệu thu thập được, có \(n\) căn phòng được đánh số từ \(1\) đến \(n\), căn phòng thứ \(i\) (\(1\le i\le n\)) là một hình chữ nhật có tọa độ trái dưới là \((x_{i},y_{i})\) và tọa độ phải trên là \((u_{i},v_{i})\). Bốn bức tường tương ứng là các đoạn thẳng nối tọa độ \((x_{i},y_{i})\) với \((x_{i},v_{i})\), \((x_{i},v_{i})\) với \((u_{i},v_{i})\), \((u_{i},v_{i})\) với \((u_{i},y_{i})\) và \((u_{i},y_{i})\) với \((x_{i},y_{i})\). Hai đoạn thẳng mô tả hai bức tường của hai phòng khác nhau không có điểm chung. Một thiết bị đặc biệt được các nhà khảo cổ sử dụng để khảo sát khu Hoàng Thành. Thiết bị nhỏ gọn nhưng mỗi khi cần điều khiển thiết bị để vượt qua một bức tường là rất khó khăn. Với một giả định, ban đầu thiết bị được đặt tại tọa độ \((x_{s},y_{s})\) và cần di chuyển tới tọa độ \((x_{f},y_{f})\), các nhà khảo cổ muốn tính toán số bức tường ít nhất cần vượt qua khi điều khiển thiết bị.
Yêu cầu: Cho các thông tin về khu Hoàng Thành và \(m\) giả định, với mỗi giả định hãy giúp các nhà khảo cổ tính toán số bức tường ít nhất cần vượt qua khi điều khiển thiết bị.