Cây thông (Tuyên Quang 2025)
Đề bài: Đề thi được đính kèm trong tệp PDF bên dưới.
- Tệp vào:
CAYTHONG.INP - Tệp ra:
CAYTHONG.OUT - Thời gian chạy:
1.0s - Bộ nhớ:
1024MB
TLEoj Contest #01 - Ma trận đối xứng
Một ma trận m \times n, gồm m hàng đánh số từ 1 đến m và n cột đánh số từ 1 đến n, với phần tử ở hàng i cột j là a[i][j] có thể có một số tính chất sau (có thể không có, có một hoặc có nhiều tính chất cùng một lúc):
- Tính chất đối xứng qua trục dọc: a[i][j] = a[i][n + 1 - j] với mọi cặp số nguyên (i, j).
- Tính chất đối xứng qua trục ngang: a[i][j] = a[m + 1 - i][j] với mọi cặp số nguyên (i, j).
- Tính chất đối xứng qua tâm: a[i][j] = a[m + 1 - i][n + 1 - j] với mọi cặp số nguyên (i, j).
Ví dụ:
- Ma trận dưới đây là ma trận đối xứng qua trục dọc:
1221 3443 5445 - Ma trận dưới đây là ma trận đối xứng qua trục ngang:
1234 5678 1234 - Ma trận dưới đây là ma trận đối xứng qua tâm:
1234 5665 4321
Xét tất cả các ma trận a có thể gồm các số nguyên không âm, với a[i][j] \le b[i][j] cho trước, bạn cần tính số ma trận thỏa mãn một số tính chất trong các tính chất trên.
Input, Output và Subtasks
Input: (bàn phím)
- Dòng đầu tiên gồm hai số nguyên dương m, n (m, n \le 5000) là số hàng và cột của ma trận a (và cả ma trận b).
- Dòng thứ hai gồm một chuỗi ba ký tự 0 hoặc 1, trong đó nếu ký tự thứ i là 1, bạn sẽ cần tính số ma trận thỏa mãn tính chất thứ i theo thứ tự trên đề bài (ví dụ: chuỗi ký tự là 011 thì bạn cần phải đếm số ma trận thỏa mãn tính chất 2 và 3 trên đề bài).
- m dòng tiếp theo, mỗi dòng gồm một xâu ký tự chỉ gồm các ký tự số. Ký tự thứ j ở dòng thứ i trong m dòng này là phần tử b[i][j].
Output: (màn hình)
- Một dòng duy nhất gồm số lượng ma trận thỏa mãn các tính chất trong input. Vì kết quả có thể rất lớn nên chỉ cần in ra phần dư khi chia cho 10^9 + 7.
Subtasks
- Subtask 1 (60\%): Chuỗi ký tự ở dòng thứ hai có ít nhất hai ký tự 1.
- Subtask 2 (40\%): Không có giới hạn gì thêm.
Sample 1
Input (bàn phím)
3 4
001
1010
0101
1010
Output (màn hình)
1
Notes
- Input yêu cầu đếm số ma trận thỏa mãn tính chất đối xứng tâm, và ma trận gồm toàn số 0 là ma trận duy nhất thỏa mãn.
VỊ TRÍ ĐẦU TIÊN (Lào Cai 2024)
Đề bài: Đề thi được đính kèm trong tệp PDF bên dưới.
- Tệp vào:
bai4.inp - Tệp ra:
bai4.out - Thời gian chạy:
1.0s - Bộ nhớ:
1024MB
Bảng số (Cần Thơ 2024)
Đề bài: Đề thi được đính kèm trong tệp PDF bên dưới.
- Tệp vào:
BANGSO.INP - Tệp ra:
BANGSO.OUT - Thời gian chạy:
1.0s - Bộ nhớ:
1024MB
TLEOJ Contest #16 - Truy vấn MEX
Hôm nay được học định nghĩa của MEX của tập hợp và cảm thấy rất hứng thú với định nghĩa này nên đã nghĩ ra 1 bài toán liên quan đến hàm MEX này.
Cho mảng n phần tử a_1, a_2, …, a_n.
Cho q truy vấn, mỗi truy vấn bạn được cho 1 số nguyên dương x.
Xét mảng b với b_i=a_i+i \times x với (1 \leq i \leq n).
Với mỗi truy vấn hãy in ra MEX của mảng b của truy vấn đó.
Định nghĩa của MEX
Định nghĩa MEX của tập S
MEX của một tập hợp S là số nguyên không âm nhỏ nhất không thuộc tập hợp S .
Giải thích cụ thể
- MEX của S là số nguyên không âm nhỏ nhất mà không xuất hiện trong S .
- Ví dụ:
- Nếu S = \{0, 1, 2, 4, 5, -3\} , thì MEX của S là 3 vì 3 là số nguyên không âm nhỏ nhất không có trong S .
- Nếu S = \{1, 2, 3, -1, -2, -3, 69, -96, 169, 196, -11092001\} , thì MEX của S là 0 vì 0 là số nguyên không âm nhỏ nhất không có trong S .
Input and Output
Input
- Dòng đầu chứa hai số nguyên n, q (1 \leq n, q \leq 10^5)
- Dòng thứ hai chứa n số nguyên a_i (-10^9 \leq a_i \leq 10^9)
- q dòng sau dòng thứ i gồm 1 số nguyên dương là x (1 \leq x \leq n) của truy vấn thứ i
Output
- Một dòng duy nhất chứa số nguyên là đáp án của bài toán
Subtask
- Subtask 1 (50\% số điểm) : 1 \leq n, q \leq 1000.
- Subtask 2 (50\% số điểm còn lại) : Không có giới hạn gì thêm.
Test 1
Input
5 2
-1 -1 -6 -2 4
1
2
Output
3
2
TLEoj Contest #08 - Vị trí max min
Định nghĩa một dãy hoán vị độ dài n là một dãy số độ dài n chứa tất cả các số nguyên dương bé hơn hoặc bằng n theo một thứ tự bất kỳ. Ví dụ, [2,3,1,5,4] là một dãy hoán vị, nhưng [1,2,2] và [1,3,4] không phải dãy hoán vị.
Bạn được cho một dãy hoán vị a độ dài n. Với mỗi i từ 1,2,\ldots,n-1, theo thứ tự này, bạn thực hiện thao tác sau:
- Khởi tạo một dãy b gồm n-1 phần tử theo định nghĩa sau:
- Nếu i lẻ: b_j = max(a_j, a_{j+1}) với mọi j \in [1,n-1]
- Nếu i chẵn: b_j = min(a_j, a_{j+1}) với mọi j \in [1,n-1]
- Đặt dãy a thành dãy b
Dễ thấy, sau mỗi thao tác, độ dài dãy a giảm đi đúng 1 phần tử, và sau n-1 thao tác, dãy a sẽ chỉ còn đúng một phần tử.
Yêu cầu: Hãy tìm phần tử cuối cùng còn lại trong dãy a sau n-1 thao tác.
Input, Output và Scoring
Input (bàn phím)
- Dòng đầu tiên chứa số nguyên dương t là số lượng bộ test (1 \leq t \leq 100). Mỗi bộ test có định dạng như sau:
- Dòng đầu tiên chứa số nguyên dương n là độ dài của dãy hoán vị (1 \leq n \leq 5000).
- Dòng thứ hai chứa n số nguyên dương a_1,a_2,\ldots,a_n là dãy hoán vị được cung cấp (1 \leq a_i \leq n).
Output (màn hình)
- In ra t dòng, mỗi dòng chứa một số nguyên dương duy nhất là phần tử cuối cùng còn lại trong dãy a tương ứng với từng bộ test.
Subtasks
- Subtask 1 (20\% số điểm): n \leq 500
- Subtask 2 (20\% số điểm): a_i \leq a_{i+1} với mọi i \in [1,n-1]
- Subtask 3 (60\% số điểm): Không có ràng buộc gì thêm
Sample
Input (bàn phím)
2
3
1 3 2
4
1 2 3 4
Output (màn hình)
3
3
Notes
Ở test đầu tiên, các thao tác được thực hiện như sau:
- Thao tác 1: ta có b_1 = max(a_1,a_2) = 3; b_2 = max(a_2,a_3) = 3. Dãy a sau thao tác này trở thành [3,3]
- Thao tác 2: ta có b_1 = min(a_1,a_2) = 3. Dãy a sau thao tác này trở thành [3]
Phần tử cuối cùng trong dãy a là 3. Lưu ý rằng dãy a không nhất thiết là một hoán vị sau mỗi thao tác.
Số đối xứng nhỏ nhất
Số đối xứng là các số mà khi đọc từ phải qua trái vẫn là chính nó
Ví dụ 1, 121, 2552, ... là các số đối xứng
Cho số nguyên dương n, tìm số đối xứng nhỏ nhất lớn hơn hoặc bằng n
Input, Output and Scoring
Input
- 1 số nguyên dương n (1 \le a \le b \le 10^{100}).
Output
- Số đối xứng nhỏ nhất lớn hơn hoặc bằng n
Scoring
- Subtask 1 (30\%): 2 \le a, b \le 10^5.
- Subtask 2 (30\%): 2 \le a, b \le 10^{18}.
- Subtask 3 (40\%): Không giới hạn gì thêm.
Example 1
Input
123
Output
131
Example 2
Input
5324
Output
5335
TLEoj Contest #05 - Đếm bảng ký tự
Cho một bảng kí tự gồm n hàng và m cột. Các hàng được đánh số từ 1→n từ trên xuống dưới, và các cột được đánh số từ 1→m từ trái sang phải. Bạn có thể thực hiện thao tác sau vô hạn lần (hoặc không thực hiện lần nào):
- Chọn hàng thứ i trên bảng, và đẩy kí tự đầu tiên của hàng đó ra phía sau của hàng (1≤i≤n) (ví dụ với xâu \text{haudepzai} thì nếu để kí tự đầu tiên vào sau hàng thì sẽ là \text{audepzaih})
Hãy tính xem, với vô số cách xoay bảng, có thể có bao nhiêu cách thực hiện thao tác sao cho sẽ có một xâu đối xứng xuất hiện tại cột thứ nhất? Biết rằng, hai cách thực hiện xoay bảng được tính là khác nhau khi bảng kí tự được tạo ra sau khi xoay bằng hai cách là khác nhau.
Explanation
Chúng ta tạm gọi c_i là số lần thực hiện thao tác ở hàng thứ i (và mảng C = \left\{c_1, c_2, c_3, ..., c_n\right\} thể hiện một cách xoay bảng).
Giả sử chúng ta có một bảng như sau: P = \left[\begin{array}{c} \text{aba} \\ \text{bba} \\ \text{cba} \end{array}\right] (có n = m = 3).
Hai cách xoay bảng P là C_1 = \left\{1, 2, 1\right\} và C_2 = \left\{2, 1, 2\right\} được xem là hai cách khác nhau vì:
- Bảng được tạo thành đối với cách thứ nhất và cách thứ 2 lần lượt là P_1 = \left[\begin{array}{c} \text{baa} \\ \text{abb} \\ \text{bac} \end{array}\right], P_2 = \left[\begin{array}{c} \text{aab} \\ \text{bab} \\ \text{acb} \end{array}\right];
- P_1 \ne P_2 \Rightarrow hai cách xoay bảng C_1 và C_2 là khác nhau.
Còn đối với hai cách xoay bảng P là C_1 (như trên) và C_3 = \left\{4, 8, 1\right\}, chúng được xem là giống nhau vì sau khi thực hiện cả hai cách này thì đều cho bảng P' = \left[\begin{array}{c} \text{baa} \\ \text{abb} \\ \text{bac} \end{array}\right].
Input, Output và Subtasks
Input
Dòng 1 gồm số q là các bộ test con (subtest) cần được xử lý (1\le q\le 50).
Mỗi bộ test con gồm các dữ liệu như sau:
- Dòng 1 gồm hai số n, m (1\le n, m\le 10^3);
- n dòng sau, mỗi dòng gồm có m kí tự Latinh thường, giữa hai kí tự bất kì trong 1 dòng không có khoảng trắng.
Các số trên cùng một dòng cách nhau bởi một dấu cách.
Output
Gồm q dòng là kết quả cho q subtest. Mỗi truy vấn thứ i có giá trị k_i chỉ số cách xoay bảng tạo xâu đối xứng tại cột thứ nhất với bảng của subtest thứ i.
Lưu ý: Vì các kết quả có thể rất lớn nên các bạn cần in kết quả dưới dạng phần dư của phép chia kết quả cho 10^9+7.
Subtasks
- Subtask 1 (7.5\%): n,m\le 7,q\le 2
- Subtask 2 (22.5\%): q\le 10
- Subtask 3 (70\%): Không có ràng buộc gì thêm
Sample 1
Input
2
2 2
ac
ab
3 3
aba
bba
cba
Output
1
9
Note
Testcase #1: Giữ nguyên bảng và ta sẽ có được xâu đối xứng ở cột thứ nhất của bảng ("\text{aa}")
Testcase #2: Các bảng thỏa mãn bao gồm: \left[\begin{array}{c} \text{aba} \\ \text{bba} \\ \text{acb} \end{array}\right], \left[\begin{array}{c} \text{aba} \\ \text{bab} \\ \text{acb} \end{array}\right], \left[\begin{array}{c} \text{aba} \\ \text{abb} \\ \text{acb} \end{array}\right], \left[\begin{array}{c} \text{aab} \\ \text{bba} \\ \text{acb} \end{array}\right], \left[\begin{array}{c} \text{aab} \\ \text{bab} \\ \text{acb} \end{array}\right], \left[\begin{array}{c} \text{aab} \\ \text{abb} \\ \text{acb} \end{array}\right], \left[\begin{array}{c} \text{baa} \\ \text{bba} \\ \text{bac} \end{array}\right], \left[\begin{array}{c} \text{baa} \\ \text{bab} \\ \text{bac} \end{array}\right], \left[\begin{array}{c} \text{baa} \\ \text{abb} \\ \text{bac} \end{array}\right]
Bội số đặc biệt (Tuyên Quang 2026)
Đề bài: Đề thi được đính kèm trong tệp PDF bên dưới.
- Tệp vào:
BAI2.INP - Tệp ra:
BAI2.OUT - Thời gian chạy:
1.0s - Bộ nhớ:
1024MB
GIAI THỪA KÉP (Bà Rịa Vũng Tàu 2024)
Đề bài: Đề thi được đính kèm trong tệp PDF bên dưới.
- Tệp vào:
FADOUBLE.INP - Tệp ra:
FADOUBLE.OUT - Thời gian chạy:
1.0s - Bộ nhớ:
1024MB
Chuyển đổi hệ đếm (Bến Tre 2025)
Đề bài: Đề thi được đính kèm trong tệp PDF bên dưới.
- Tệp vào:
HEDEM.INP - Tệp ra:
HEDEM.OUT - Thời gian chạy:
1.0s - Bộ nhớ:
1024MB
Bedan Contest #01 - B - Trò chơi với bi
Quá rảnh rỗi, nhớ lại hồi cậu đi chơi ở công viên Châu Phi. Hồi đó, cậu và cô người yêu của cậu vẫn còn yêu nhau say đắm. Một ký ức đẹp như vậy làm chìm đắm vào nó. Bỗng cậu nhớ có một trò chơi đã hại não của cậu và cả cô người yêu của cậu khiến cho cậu vẫn còn ám ảnh đến bây giờ. Trò chơi ấy có nội dung như sau.
Nội dung trò chơi
Cho 1 dãy bi gồm n viên bi, viên thứ i có số điểm là a_i. Bạn sẽ có m lượt chơi và tại mỗi lượt, bạn phải loại bỏ một số viên bi trong đoạn [l, r] sao cho độ đẹp của các viên bi còn lại của đoạn [l, r] là lớn nhất.
Độ đẹp của một dãy a gồm n viên bi được định nghĩa là a_1 - a_2 + a_3 - ... + (-1)^{n-1} \times a_n.
bỗng nhớ lại sự đau đơn khi trò chơi ấy. Bạn có vẻ rảnh rỗi như nên cậu ấy muốn bạn thử sức với trò chơi này. Bạn hãy đồng ý và thử sức nhé.
Input, Output and Scoring
Input
- Hai nguyên dương n, m (1 \le n, m \le 10^5).
- Dãy a gồm n viên bi với các số điểm a_1, a_2, ..., a_n (1 \le a_i \le 10^9).
- m dòng tiếp theo, mỗi dòng gồm 2 số nguyên dương l, r (1 \le l \le r \le n).
Output
- Với mỗi lần chơi, hãy in ra độ đẹp của các viên bi lớn nhất có thể của đoạn [l, r].
Scoring
- Subtask 1 (10\%): 1 \le n, m \le 20.
- Subtask 2 (30\%): 1 \le n, m \le 10^3.
- Subtask 3 (60\%): Không giới hạn gì thêm.
Example
Input
5 2
1 4 2 3 9
1 4
2 5
Output
5
11
Note
- Ở lượt chơi 1, ta có thể loại bỏ viên bi thứ 1 của đoạn [1, 4]. Độ đẹp của các viên bi là 4-2+3 = 5.
- Ở lượt chơi 2, ta có thể loại bỏ viên bi thứ 3 của đoạn [2, 5]. Độ đẹp của các viên bi là 4-2+9 = 11.
Chữ số tận cùng (HSG9 QT 2023)
Chữ số tận cùng của một số là chữ số cuối cùng của nó. Ví dụ số 123 có chữ số tận cùng là 3, số 5 có chữ số tận cùng là 5.
Yêu cầu: Cho hai số nguyên dương A,N, hãy tìm chữ số tận cùng của A^N.
Input, Output và Subtasks
Input: (TANCUNG.inp)
- Ghi 2 số nguyên dương A,N (1\le A,N\le 10^{18}). Các số viết cách nhau bởi dấu cách
Output: (TANCUNG.out)
- Một số nguyên duy nhất là chữ số tận cùng tìm được
Subtasks
- Subtask 1 (60\%): 1\le A,N\le 9
- Subtask 2 (20\%): 1\le A,N\le 10^5
- Subtask 3 (20\%): Không có ràng buộc gì thêm
Sample 1
Input (TANCUNG.inp)
2 10
Output (TANCUNG.out)
4
Note
2\cdot 2\cdot 2\cdot 2\cdot 2\cdot 2\cdot 2\cdot 2\cdot 2\cdot 2=1024
Sample 2
Input (TANCUNG.inp)
12 3
Output (TANCUNG.out)
8
Note
12\cdot 12\cdot 12=1728
Vòi tưới nước (Hải Phòng 2026)
Đề bài: Đề thi được đính kèm trong tệp PDF bên dưới.
- Tệp vào:
stdin - Tệp ra:
stdout - Thời gian chạy:
1.0s - Bộ nhớ:
1025MB
Tham quan (Bình Phước 2023)
Đề bài: Đề thi được đính kèm trong tệp PDF bên dưới.
- Tệp vào:
thamquan.inp - Tệp ra:
thamquan.out - Thời gian chạy:
1.0s - Bộ nhớ:
1024MB