| # | Bài tập | Điểm | Thời gian: | Giới hạn bộ nhớ |
|---|---|---|---|---|
| 1 | Ghép chữ (DHBB 2021) | 100 (p) | 3.0s | 256M |
| 2 | Trung tâm mua sắm (DHBB 2021) | 100 (p) | 1.0s | 256M |
| 3 | Xâu nhị phân (DHBB 2021) | 100 (p) | 1.0s | 1G |
Các bé trường mầm non SuperKids đang chơi trò chơi ghép chữ trên một sân hình chữ nhật kích
thước \(m × n\) được chia thành lưới ô vuông đơn vị. Các hàng ô đánh số từ \(1\) tới \(m\) từ trên xuống
và các cột ô được đánh số từ \(1\) tới n từ trái qua phải. Ô nằm trên giao của hàng \(i\) và cột \(j\) được
gọi là ô \((i,j)\) và trên đó chứa đúng một chữ cái hoa \(a_{ij}\).
Mỗi bé khi chơi được cho trước xâu ký tự \(S\) độ dài \(k\) chỉ gồm các chữ cái hoa. Bé được chọn một
ô để xuất phát và thực hiện trò chơi qua nhiều lượt. Tại mỗi lượt, bé bắt buộc phải di chuyển
sang một trong bốn ô kề cạnh với ô đang đứng, sau đó bé được viết ra đúng một chữ cái bằng
với chữ cái tại ô vừa tới nếu muốn. Mục đích của bé là viết ra được xâu ký tự \(S\) đã cho. Chú ý
rằng các chữ cái phải được viết ra lần lượt theo đúng thứ tự trong xâu \(S\) và khi tới một ô chỉ
được viết ra đúng một chữ cái.
Yêu cầu: Hãy giúp bé thực hiện được mục đích của mình trong trò chơi với số lần di chuyển ít
nhất. Cho biết số lần di chuyển theo phương án tìm được
Vào từ file văn bản SPELL.INP
Test 1
2 4 6
DHDBBB
DHAB
ABBD
7
Một trung tâm mua sắm có \(n\) kiốt (kiosk) đánh số từ \(1\) tới \(n\), kiốt thứ \(i\) bán mặt hàng \(c_i\)
. Siêu thị
có \(n − 1\) con đường hai chiều đánh số từ \(1\) tới \(n − 1\), con đường thứ \(i\) nối giữa kiốt \(u_i\) và kiốt \(v_i\)
.
Hệ thống các con đường đi đảm bảo sự đi lại giữa hai kiốt bất kỳ.
Trong thời kỳ dịch bệnh, người ta muốn ngưng hoạt động một số kiốt để dễ dàng kiểm soát các
hoạt động mua bán cũng như giao tiếp với khách hàng. Khi một kiốt bị ngừng hoạt động, tất cả
các con đường nối tới kiốt đó đều bị chặn để đảm bảo an ninh. Ngoài ra vì không muốn ảnh
hưởng nhiều tới khách hàng, siêu thị muốn lập phương án sao cho các kiốt vẫn còn hoạt động
phải thỏa mãn hai điều kiện sau:
Hai phương án được gọi là khác nhau nếu có một kiốt bị ngưng hoạt động trong một phương án
nhưng được phép hoạt động trong phương án còn lại.
Yêu cầu: Hãy cho biết có bao nhiêu phương án khác nhau thỏa mãn điều kiện nêu trên.
Vào từ file văn bản KIOSKS.INP
Test 1
4 3
1 2 4 3
1 2
2 3
3 4
1
Test 2
5 2
1 2 2 2 3
1 2
1 3
1 4
2 5
11
Cho xâu \(S\) gồm \(n\) ký tự \(\in \{0,1\}\) và số tự nhiên \(k\). Hãy tìm cách đảo một số ít nhất các ký tự của
chuỗi \(S\) (đảo ký tự 0 thành ký tự 1 hoặc ngược lại) sao cho chuỗi kết quả có thể được phân tách
thành không quá \(k\) chuỗi con mà mỗi chuỗi con chỉ chứa các ký tự 0 hoặc chỉ chứa các ký tự 1.
Yêu cầu: Cho biết số ký tự ít nhất trong xâu \(S\) cần đảo.
Vào từ file văn bản BITSTR.INP
Dòng 1 chứa hai số nguyên dương \(n, k \le 2\times 10^5\) cách nhau bởi dấu cách
Dòng 2 ghi xâu \(S\) (gồm \(n\) ký tự \(\in \{0,1\}\) viết liền nhau)
Subtask \(4\) (\(20\%\) số điểm): \(n \le 2\times 10^5 ; k \le 5000\)
Subtask \(5\) (\(20\%\) số điểm): Không có ràng buộc bổ sung ngoài các ràng buộc đã nêu trong đề bài.
Test 1
10 1
1000100011
4
Biến đổi thành xâu gồm toàn ký tự 0
0000000000
Test 2
6 2
010110
2
Biến đổi thành:
000111 hoặc
111110 hoặc
011111