| # | Bài tập | Điểm | Thời gian: | Giới hạn bộ nhớ |
|---|---|---|---|---|
| 1 | SHORTEN | 30 (p) | 2.0s | 1G |
| 2 | COVER | 30 (p) | 2.0s | 1G |
| 3 | Ghép cặp đối xứng | 20 (p) | 3.5s | 1G |
| 4 | COUNTPAIR | 20 (p) | 5.0s | 1G |
Cho \(n\) từ. Với mỗi từ:
Ví dụ: từ có độ dài \(14\) thì số ký tự ở giữa là \(12\).
Test 1
5
hello
algorithm
competitive
xxxxxxxxxxx
transformation
hello
algorithm
c9e
x9x
t12n
Các từ có độ dài lớn hơn \(10\) được rút gọn theo ký tự đầu, số ký tự ở giữa và ký tự cuối.
Có \(n\) thời điểm bắt đầu \(a_1, a_2, \dots, a_n\), được sắp xếp tăng dần.
Ta chọn một số nguyên dương \(k\). Với mỗi thời điểm \(a_i\), nó tạo ra một đoạn thời gian: \([a_i, a_i + k - 1]\).
Mỗi đoạn trên phủ đúng \(k\) thời điểm nguyên liên tiếp. Tổng số thời điểm được phủ là số lượng thời điểm nguyên thuộc ít nhất một trong các đoạn đã cho. Nếu các đoạn giao nhau thì phần giao chỉ được tính một lần.
Hãy tìm giá trị nhỏ nhất của \(k\) sao cho tổng số thời điểm được phủ ít nhất là \(h\).
Test 1
3
3 10
1 4 10
1 7
5
4 12
1 3 7 8
4
7
5
Ở bộ test đầu tiên, nếu \(k = 4\), các đoạn là \([1, 4], [4, 7], [10, 13]\). Tổng số thời điểm nguyên được phủ là \(11\) (các điểm \(\{1, 2, 3, 4, 5, 6, 7, 10, 11, 12, 13\}\)), đủ lớn hơn hoặc bằng \(10\). Nếu \(k = 3\), tổng số thời điểm nguyên được phủ chỉ là \(9\), chưa đủ.
Một xâu được gọi là đối xứng được nếu ta có thể sắp xếp lại các ký tự của xâu đó để tạo thành một xâu palindrome.
Ví dụ:
aabb đối xứng được, vì có thể sắp xếp thành abba.abc không đối xứng được.Cho \(n\) xâu \(s_1, s_2, \dots, s_n\). Hãy đếm số cặp chỉ số \((i, j)\) sao cho \(1 \le i < j \le n\) và xâu \(s_i + s_j\) là xâu đối xứng được. Ở đây \(s_i + s_j\) là xâu tạo được bằng cách nối \(s_i\) với \(s_j\).
a đến z.a đến j.Test 1
6
ab
ba
abc
c
aa
bb
6
Các cặp hợp lệ là (ab, ba), (ab, abc), (ba, abc), (c, aa), (c, bb) và (aa, bb).
Ví dụ: ab + ba = abba là một xâu palindrome.
Cho dãy số nguyên \(a_1, a_2, \dots, a_n\).
Với mỗi vị trí \(i\), định nghĩa \(L_i\) là số lần giá trị \(a_i\) xuất hiện trong đoạn \(a_1, a_2, \dots, a_i\). Nói cách khác, \(L_i\) là số lần xuất hiện của \(a_i\) tính từ đầu dãy đến vị trí \(i\).
Tương tự, với mỗi vị trí \(i\), định nghĩa \(R_i\) là số lần giá trị \(a_i\) xuất hiện trong đoạn \(a_i, a_{i+1}, \dots, a_n\). Nói cách khác, \(R_i\) là số lần xuất hiện của \(a_i\) tính từ vị trí \(i\) đến cuối dãy.
Hãy đếm số cặp chỉ số \((i, j)\) sao cho \(1 \le i < j \le n\) và \(L_i > R_j\).
Test 1
7
1 2 1 1 2 2 1
8
Có \(8\) cặp chỉ số \((i, j)\) thỏa mãn \(1 \le i < j \le n\) và \(L_i > R_j\).
Test 2
3
1 1 1
1
Chỉ có một cặp chỉ số thỏa mãn yêu cầu.
Test 3
5
1 2 3 4 5
0
Không có cặp chỉ số nào thỏa mãn yêu cầu.