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

Sunlight

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

giaminh2211

Hôm nay giaminh2211 đượ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

nathan4690

Đị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ự

Noobcoder

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

flo

Quá rảnh rỗi, flo 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 flo 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.

flo bỗng nhớ lại sự đau đơn khi trò chơi ấy. Bạn có vẻ rảnh rỗi như flo 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)

Sunlight

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