| # | Bài tập | Điểm | Thời gian: | Giới hạn bộ nhớ |
|---|---|---|---|---|
| 1 | APIO 2015 - Bali Sculptures | 100 (p) | 1.0s | 64M |
| 2 | APIO 2015 - Jakarta Skyscrapers | 100 (p) | 1.0s | 256M |
| 3 | APIO 2015 - Palembang Bridges | 100 (p) | 2.0s | 256M |
Trên một đường phố chính ở Bali có \(N\) tác phẩm điêu khắc, đánh số liên tiếp từ \(1\) đến \(N\). Tác phẩm thứ \(i\) có tuổi là \(Y_i\).
Chính phủ muốn chia các tác phẩm thành \(X\) nhóm, với \(A\le X\le B\), sao cho:
Với mỗi nhóm, tính tổng tuổi của các tác phẩm trong nhóm. Giá trị thẩm mỹ tổng hợp là kết quả phép OR theo bit của tất cả các tổng đó. Hãy tìm giá trị thẩm mỹ tổng hợp nhỏ nhất có thể.
In giá trị thẩm mỹ tổng hợp nhỏ nhất.
Ví dụ 1
6 1 3
8 1 2 1 5 4
11
Chia thành hai nhóm (8 1 2) và (1 5 4). Hai tổng là \(11\) và \(10\), nên giá trị thẩm mỹ là \(11\mathbin{\mathrm{OR}}10=11\).
| Nhóm | Điểm | Ràng buộc |
|---|---|---|
| 1 | 9 | \(1\le N\le20\); \(1\le A\le B\le N\); \(0\le Y_i\le10^9\) |
| 2 | 16 | \(1\le N\le50\); \(1\le A\le B\le\min(20,N)\); \(0\le Y_i\le10\) |
| 3 | 21 | \(1\le N\le100\); \(A=1\); \(1\le B\le N\); \(0\le Y_i\le20\) |
| 4 | 25 | \(1\le N\le100\); \(1\le A\le B\le N\); \(0\le Y_i\le10^9\) |
| 5 | 29 | \(1\le N\le2\,000\); \(A=1\); \(1\le B\le N\); \(0\le Y_i\le10^9\) |
Asia-Pacific Informatics Olympiad 2015, bài Bali Sculptures.
Jakarta có \(N\) tòa nhà chọc trời nằm trên một đường thẳng, đánh số từ \(0\) đến \(N-1\) từ trái sang phải.
Có \(M\) sinh vật gọi là doge, đánh số từ \(0\) đến \(M-1\). Ban đầu doge \(i\) ở tòa nhà \(B_i\) và có năng lượng \(P_i\). Trong một bước nhảy, doge có năng lượng \(p\) đang ở tòa nhà \(b\) có thể nhảy đến \(b+p\) hoặc \(b-p\), miễn là tòa nhà đích có số hiệu trong \([0,N-1]\).
Doge \(0\) cần truyền một tin khẩn cấp tới doge \(1\). Sau khi nhận tin, một doge có thể:
Hãy tìm tổng số bước nhảy ít nhất mà tất cả doge phải thực hiện để tin đến được doge \(1\), hoặc cho biết việc đó không thể thực hiện.
In tổng số bước nhảy nhỏ nhất, hoặc -1 nếu không thể truyền tin.
Ví dụ 1
5 3
0 2
1 1
4 1
5
Doge \(0\) nhảy từ tòa nhà \(0\) đến \(2\), rồi đến \(4\) trong hai bước và truyền tin cho doge \(2\). Doge \(2\) nhảy từ \(4\) đến \(3\), \(2\), rồi \(1\) trong ba bước và truyền tin cho doge \(1\). Tổng cộng có năm bước nhảy.
| Nhóm | Điểm | Ràng buộc bổ sung |
|---|---|---|
| 1 | 10 | \(1\le N\le10\); \(1\le P_i\le10\); \(2\le M\le3\) |
| 2 | 12 | \(1\le N\le100\); \(1\le P_i\le100\); \(2\le M\le2\,000\) |
| 3 | 14 | \(1\le N\le2\,000\); \(1\le P_i\le2\,000\); \(2\le M\le2\,000\) |
| 4 | 21 | \(1\le N\le2\,000\); \(1\le P_i\le2\,000\); \(2\le M\le30\,000\) |
| 5 | 43 | \(1\le N\le30\,000\); \(1\le P_i\le30\,000\); \(2\le M\le30\,000\) |
Asia-Pacific Informatics Olympiad 2015, bài Jakarta Skyscrapers.
Thành phố Palembang bị sông Musi chia thành hai vùng \(A\) và \(B\). Mỗi vùng có đúng \(1\,000\,000\,001\) tòa nhà dọc bờ sông, đánh số từ \(0\) đến \(1\,000\,000\,000\). Hai tòa nhà liền kề cách nhau một đơn vị; bề rộng sông cũng là một đơn vị. Tòa nhà \(i\) ở vùng \(A\) đối diện tòa nhà \(i\) ở vùng \(B\).
Có \(N\) công dân. Nhà của người \(i\) ở tòa nhà \(S_i\) thuộc vùng \(P_i\), còn nơi làm việc ở tòa nhà \(T_i\) thuộc vùng \(Q_i\). Chính phủ sẽ xây tối đa \(K\) cây cầu. Mỗi cầu nối hai tòa nhà đối diện ở hai vùng, vuông góc với sông, và các cầu không chồng lên nhau.
Sau khi xây cầu, gọi \(D_i\) là khoảng cách lái xe ngắn nhất từ nhà đến nơi làm việc của công dân \(i\). Hãy chọn vị trí cầu để tối thiểu hóa:
A hoặc B; các trường còn lại là số nguyên.In tổng khoảng cách nhỏ nhất.
Ví dụ 1
1 5
B 0 A 4
B 1 B 3
A 5 B 7
B 2 A 6
B 1 A 7
24
Ví dụ 2
2 5
B 0 A 4
B 1 B 3
A 5 B 7
B 2 A 6
B 1 A 7
22
Cấu hình thành phố trong cả hai ví dụ:
{{asset:apio15-bridge-initial}}
Ở ví dụ thứ nhất chỉ có một cách đặt cầu tối ưu:
{{asset:apio15-bridge-sample1}}
Một cách đặt hai cầu tối ưu cho ví dụ thứ hai:
{{asset:apio15-bridge-sample2}}
| Nhóm | Điểm | Ràng buộc bổ sung |
|---|---|---|
| 1 | 8 | \(K=1\), \(1\le N\le1\,000\) |
| 2 | 14 | \(K=1\), \(1\le N\le100\,000\) |
| 3 | 9 | \(K=2\), \(1\le N\le100\) |
| 4 | 32 | \(K=2\), \(1\le N\le1\,000\) |
| 5 | 37 | \(K=2\), \(1\le N\le100\,000\) |
Asia-Pacific Informatics Olympiad 2015, bài Palembang Bridges.