Cho bảng chữ kích thước \(m \cdot n\), mỗi ô chứa một kí tự \(A\) hoặc \(B\). Một hình chữ nhật con của bảng được gọi là bảng đẹp bậc \(k\) nếu số lượng kí tự \(A\) và số lượng kí tự \(B\) trong bảng con chênh lệch không quá \(k\).
Cho bảng chữ kích thước \(m \cdot n\) và số nguyên \(k\), hãy tìm bảng con là bảng đẹp lớn nhất.
Test 1
2
3 4 0
AAAA
BBBB
BAAA
3 4 1
AAAA
BBBB
BAAA
8
9
Phép nhân hai ma trận chỉ thực hiện được khi số cột của ma trận bên trái bằng số dòng của ma trận
bên phải. Nếu ma trận \(A\) có kích thước \(m\) x \(n\) và ma trận \(B\) có kích thước \(n\) x \(p\) , thì ma trận
tích C = \(A\) x \(B\) có kích thước \(m\) x \(p\) , phần tử đứng ở hàng thứ \(i\), cột thứ \(j\) xác định bởi:
\(c_{i,j} = a_{i,1}b_{1,j} + a_{i,2}b_{2,j} + \dots + a_{i,n}b_{n,j}\)
Phép nhân ma trận có các tính chất kết hợp: (\(A\) x \(B\)) x \(C\) = \(A\) x (\(B\) x \(C\))
Ví dụ:
\(A = \binom{0, 1}{1, 1}; A^2 = \binom{1, 1}{1, 2}; A^3 = \binom{1, 2}{2, 3}\)
Yêu cầu: Cho ma trận \(A\) kích thước \(n\) x \(n\) và ma trận B, hãy kiểm tra xem \(A^3\) có bằng hay \(B\) không?
Ghi ra thiết bị ra chuẩn gồm \(T\) dòng, mỗi dòng là kết quả tương ứng với một bộ dữ liệu theo thứ tự xuất hiện trong file dữ liệu vào: ghi thông báo ‘YES’ nếu \(A^3 = B\) và ghi ‘NO’ trong trường hợp ngược lại.
Test 1
2
2
0 1
1 1
1 2
2 2
2
0 1
1 1
1 2
2 3
NO
YES
Cho chuỗi kí tự \(s\) có độ dài \(n\) chỉ bao gồm các kí tự in thường. Các kí tự được đánh số từ 0 đến \(n - 1\), \(s = s_0,s_1,\dots,s_{n-1}\)
Chuỗi này sẽ được áp dụng lần lượt các thao tác thay đổi \((i,j,c_1,c_2)\) là biến đổi các vị trí là kí tự \(c_1\) thành kí tự \(c_2\) trong đoạn từ \(i\) đến \(j\).
Yêu cầu: Cho biết chuỗi \(s\) ban đầu và \(m\) thao tác biến đổi, hãy đưa ra chuỗi cuối cùng sau biến đổi.
Ghi ra thiết bị ra chuẩn xâu \(s\) sau biến đổi.
Test 1
aaaabbbbcccc
3
0 2 a y
5 9 b c
1 3 a z
yyyzbccccccc
Tin sinh học (Bioinformatics) là một lĩnh vực khoa học sử dụng các công nghệ của các ngành để giải quyết các vấn đề sinh học. Một bài toán được nghiên cứu để sử dụng phân tích dữ liệu sinh học như sau: Cho hai xâu \(S_1, S_2\), hãy tìm cách cắt xâu \(S_1\) thành ít đoạn nhất sau đó ghép tất cả các đoạn lại theo một thứ tự nào đó để nhận được xâu \(S_2\).
Ví dụ: \(S_1 = "abcabc", S_2 = "aabbcc"\), một phương án cắt \(S_1\) tại các vị trí sau kí tự thứ \(1\), thứ \(3\), thứ \(5\) nhận được bốn xâu \("a", "bc", "ab", "c"\) để ghép được xâu \(S_2 = "aabbcc"\).
Ghi \(-1\) nếu không tồn tại cách cắt thỏa mãn; ngược lại, gọi \(c\) là số điểm cắt và các vị trí cắt là \(1 \le p_1 < p_2 < \dots < n\), đánh số các đoạn được cắt ra theo thứ tự từ đầu đến cuối bắt đầu từ \(1\) đến \(c+1\) , trường hợp này cần ghi ra ba dòng theo khuôn dạng:
Có 20 test, mỗi test \(5.0\) điểm. Gọi số điểm cắt do thí sinh tìm được là \(c\), số điểm cắt của Ban giám khảo là \(q\), khi đó số điểm bạn đạt được cho mỗi test là \(5.0 \times min(1, \frac{q^5}{c^5})\)
Test 1
abcabc
aabbcc
3
1 3 5
1 3 2 4