| # | Bài tập | Điểm | Thời gian: | Giới hạn bộ nhớ |
|---|---|---|---|---|
| 1 | BOI 2007 - Building a Fence | 100 (p) | 5.0s | 256M |
| 2 | BOI 2007 - Connected Points | 100 (p) | 5.0s | 256M |
| 3 | BOI 2007 - Sequence | 100 (p) | 5.0s | 256M |
Leopold vừa trúng xổ số và nhận được một khu đất rộng lớn, trên đó có một dinh thự chính cùng nhiều tòa nhà khác. Anh muốn dựng một hàng rào bao quanh dinh thự chính.
Nhìn từ trên xuống, mỗi tòa nhà nằm trong một hình chữ nhật cấm mà hàng rào không được đi qua. Các cạnh của mọi hình chữ nhật song song với các trục tọa độ. Mỗi đoạn hàng rào cũng phải song song với một trong hai trục.
Hãy tính độ dài nhỏ nhất của một hàng rào hợp lệ bao quanh dinh thự chính.
Dòng đầu chứa số nguyên dương \(m\), số tòa nhà trong khu đất. Mỗi trong \(m\) dòng tiếp theo chứa bốn số nguyên \(t_x\), \(t_y\), \(b_x\), \(b_y\). Trong đó, \((t_x,t_y)\) là góc trên bên trái và \((b_x,b_y)\) là góc dưới bên phải của hình chữ nhật cấm quanh một tòa nhà.
Hình chữ nhật đầu tiên bao quanh dinh thự chính.
In ra một số nguyên dương là độ dài nhỏ nhất của một hàng rào hợp lệ bao quanh dinh thự chính.
Ví dụ 1
4
8 4 13 8
2 1 6 7
4 7 9 11
14 7 19 11
32
Xét một lưới đều gồm \(3 \times N\) điểm. Mỗi điểm có tối đa tám điểm kề như hình dưới đây.
Ta cần đếm số cách khác nhau để nối các điểm thành một đa giác thỏa mãn đồng thời:
Hai đa giác có thể tạo được khi \(N=6\) được minh họa dưới đây.
Hãy tính số đa giác thỏa mãn theo modulo \(1\,000\,000\,000\).
Dòng duy nhất chứa một số nguyên dương \(N\).
In ra phần dư của số cách nối các điểm khi chia cho \(1\,000\,000\,000\).
Ví dụ 1
3
8
Ví dụ 2
4
40
Cho dãy \(a_1, \ldots, a_n\). Ta có thể thực hiện thao tác \(\operatorname{reduce}(i)\): thay hai phần tử \(a_i\), \(a_{i+1}\) bằng một phần tử duy nhất có giá trị \(\max(a_i,a_{i+1})\). Dãy nhận được ngắn hơn một phần tử và chi phí của thao tác bằng \(\max(a_i,a_{i+1})\).
Sau \(n-1\) thao tác, dãy chỉ còn một phần tử. Hãy tính tổng chi phí nhỏ nhất của một cách rút gọn dãy như vậy.
Dòng đầu chứa số nguyên \(n\), độ dài dãy. Mỗi trong \(n\) dòng tiếp theo chứa một số nguyên \(a_i\).
In ra tổng chi phí nhỏ nhất để rút gọn dãy còn một phần tử.
Ví dụ 1
3
1
2
3
5