| # | Bài tập | Điểm | Thời gian: | Giới hạn bộ nhớ |
|---|---|---|---|---|
| 1 | Băng rôn olympic- (Olympic 30/4 K10 - 2024) | 60 (p) | 1.0s | 1G |
| 2 | Đường ống thoát nước (Olympic 30/4 K10 - 2024) | 70 (p) | 1.0s | 1G |
| 3 | Học máy (Olympic 30/4 K10 - 2024) | 70 (p) | 1.0s | 1G |

Để chào mừng cuộc thi Olympic 30/4, Hạnh nhận nhiệm vụ trang trí băng rôn chào mừng. Ban đầu, băng rôn là một chuỗi có chiều dài \(n\) chỉ gồm các chữ cái in hoa O, L và P. Một băng rôn được gọi là “đẹp” nếu có chứa một trong các kí tự O, L hoặc P với số lần xuất hiện từ \(3\) trở lên.
Yêu cầu: Cho xâu \(S\) là nội dung của băng rôn ban đầu, hãy đếm số lượng xâu con thỏa điều kiện là băng rôn “đẹp”.
O, L, P. Test 1
OLPPP
3
Có \(3\) xâu con thỏa mãn: PPP, LPPP, OLPPP
Test 2
OLPOLP
0
Không tồn tại xâu con thỏa mãn điều kiện.
Hệ thống thoát nước ngầm hiện đại của Vũng Tàu gồm n chốt được đánh số từ \(1\) đến \(n\) với \(m\) đường ống hai chiều nối giữa các cặp chốt có dạng \((i, j)\) với \(i \neq j\) và \(1 \leq i, j \leq n\). Ban đầu, các chốt trong hệ thống được đóng nắp và nước bên ngoài không thể chảy vào hệ thống. Khi có một chốt \(x\) được mở nắp, dòng nước bên ngoài sẽ chảy đến các chốt khác có đường ống thông với chốt \(x\) giúp giảm bớt ngập cho thành phố.
Nhà quản lí muốn mở nắp của không quá \(k\) \((1 \leq k \leq n)\) chốt sao cho có thể dẫn nước từ bên ngoài vào, và thông qua các đường ống để dẫn nước sang nhiều chốt nhất có thể. Mặt khác, để giảm chi phí vận hành, các chốt được mở nắp phải có cùng số lượng đường ống nối đến trực tiếp.
Yêu cầu: Cho biết dòng nước có thể chảy đến được nhiều nhất là bao nhiêu chốt?
Test 1
7 4 3
1 2
2 3
2 6
4 5
6
Chọn chốt \(1\) và chốt \(4\) (có cùng số đường ống nối trực tiếp là \(1\)). Mở chốt \(1\), nước chảy đến chốt: \(1, 2, 3, 6\); mở chốt \(4\), nước chảy đến chốt: \(4, 5\).
Test 2
6 0 5
5
Cả \(6\) chốt có cùng số lượng đường ống nối trực tiếp là \(0\) nên có thể chọn \(5\) chốt bất kì.

Informath là một sản phẩm robot của câu lạc bộ LQĐ IT. Tập tin dữ liệu huấn luyện cho robot có kích thước không quá \(10^{9}\) byte. Trong quá trình huấn luyện, Robot đọc mỗi lần \(a^{b}\) byte dữ liệu (\(a, b\) là các số nguyên dương nào đó và \(b \geq 2\)) với thời gian đọc \(b\) giây.
Cụ thể, với tập tin kích thước \(n\), robot đọc \(a_{1}^{b_{1}}\) \((a_{1}^{b_{1}} \leq n)\) byte và tốn $b_{1} giây. Nếu \(n - a_{1}^{b_{1}} > 0\), robot đọc tiếp \(a_{2}^{b_{2}}\) byte và tốn \(b_{2}\) giây, cứ như thế robot đọc hết tập tin sau \(k\) lần. Như vậy, ta có: \(n = a_{1}^{b_{1}} + a_{2}^{b_{2}} + \ldots + a_{k}^{b_{k}}\) và thời gian đọc là \(b_{1} + b_{2} + \ldots + b_{k}\).
Kiến thức bổ túc:
Ví dụ:
Yêu cầu: Cho số nguyên \(n\). Tính thời gian tối thiểu để robot đọc hết tập tin kích thước \(n\).
Gọi \(N\) là tổng kích thước của \(T\) tập tin
Test 1
1
100000000
2
\(100000000 = 10000^{2}\) \((a = 10000, b = 2)\).
Test 2
3
27
128
33
3
4
5