Độ bền của số nguyên (Phú Yên 2024)
Đề bài: Đề thi được đính kèm trong tệp PDF bên dưới.
- Tệp vào:
BAI1.INP - Tệp ra:
BAI1.OUT - Thời gian chạy:
1.0s - Bộ nhớ:
1024MB
Oẳn tù tì (Quảng Ninh 2025)
Đề bài: Đề thi được đính kèm trong tệp PDF bên dưới.
- Tệp vào:
rsp.inp - Tệp ra:
rsp.out - Thời gian chạy:
1.0s - Bộ nhớ:
1024MB
TLEoj Contest #01 - Cắt bánh
có một chiếc bánh hình tròn. Cậu thực hiện k lần cắt, tất cả các đường cắt đều không trùng nhau và đi qua tâm của chiếc bánh. Hỏi sau khi cắt chiếc bánh được chia thành bao nhiêu phần.
Input, Output và Subtasks
Input: (bàn phím)
- Dòng đầu tiên gồm số nguyên dương q là số truy vấn trong bộ test (q \le 10^6).
- Dòng tiếp theo gồm q số tự nhiên, số tự nhiên thứ i là k_i (k_i \le 10^9).
Output: (màn hình)
- In ra q số nguyên cách nhau một dấu cách. Số nguyên thứ i mô tả kết quả của truy vấn: nếu cắt chiếc bánh k_i lần thì chiếc bánh được chia thành bao nhiêu phần. Vì kết quả có thể rất lớn nên bạn chỉ cần in ra phần dư của kết quả khi chia cho 10^9 + 7.
Subtasks
- Subtask 1 (60\%): k_i \le 1000, q \le 1000.
- Subtask 2 (40\%): 1000 < k_i \le 10^9, q \le 10^6.
Sample 1
Input (bàn phím)
2
1 2
Output (màn hình)
2 4
Notes
- Khi cắt chiếc bánh lần đầu tiên, chiếc bánh được chia thành 2 phần.
- Khi cắt chiếc bánh lần thứ hai, chiếc bánh được chia thành 4 phần.
TLEoj Contest #07 - Truy vấn hình vuông
Trên mặt phẳng tọa độ Oxy trống, bạn được cho q truy vấn, truy vấn thứ i yêu cầu bạn phủ một hình vuông có độ dài cạnh 1 lên mặt phẳng sao cho vị trí góc trái dưới của hình vuông nằm ở tọa độ (u, v) (và hiển nhiên góc phải trên của hình vuông nằm ở tọa độ (u + 1, v + 1)), đồng thời yêu cầu bạn tính tổng chu vi của phần được phủ bởi các hình vuông.
Input, Output và Subtasks
Input: (bàn phím)
- Dòng đầu tiên gồm số nguyên dương q (q \le 10^5) - số truy vấn bạn cần thực hiện.
- q dòng tiếp theo, mỗi dòng gồm hai số nguyên u_i, v_i (1 \le u_i, v_i \le 5000) mô tả các truy vấn cần thực hiện. Dữ liệu đầu vào đảm bảo (u_i, v_i) \neq (u_j, v_j) với mọi i \neq j.
Output: (màn hình)
- Vỡi mỗi truy vấn, in ra tổng chu vi của phần được phủ bởi các hình vuông trên một dòng.
Subtasks
- 30\% số điểm có q \le 200; x_i, y_i \le 50.
- 30\% số điểm có q \le 5000; x_i, y_i \le 500.
- 40\% số điểm còn lại không có giới hạn gì thêm.
Sample
Input (bàn phím)
4
1 1
2 2
2 1
3 1
Output (màn hình)
4
8
8
10
Notes
- Sau truy vấn thứ nhất, chu vi của phần được phủ là 4.
![]()
- Sau truy vấn thứ hai, chu vi của phần được phủ là 8.
![]()
- Sau truy vấn thứ ba, chu vi của phần được phủ là 8.
![]()
TLEoj Contest #07 - Truy vấn LCP trên đoạn
Trong buổi học đầu tiên ở lớp, được cho một xâu s gồm n ký tự chỉ bao gồm các chữ cái tiếng anh viết thường. Cô đã dạy cho một số định nghĩa như sau:
- Một xâu con của xâu s được tạo ra bằng cách bỏ bớt một số ký tự liên tiếp ở đầu và ở cuối của xâu s, với s[l\rightarrow r] là xâu con s_l s_{l+1}\dots s_r.
- Gọi p_i là hậu tố bắt đầu từ vị trí i của xâu s, định nghĩa p_i=s[i\rightarrow n].
- Gọi lcp(s_1,s_2,\dots,s_x) là giá trị k lớn nhất sao cho s_1[1\rightarrow k]=s_2[1\rightarrow k]=\dots=s_x[1\rightarrow k] và s_1,s_2,\dots,s_x là các xâu bất kỳ
Sau buổi học, cô giáo đã cho q truy vấn, mỗi truy vấn gồm 2 số l,r. Nhiệm vụ của là với mỗi truy vấn, hãy tính giá trị của lcp(p_l,p_{l+1},\dots,p_r).
đã giải xong rồi, và giờ đây chính là thử thách dành cho các bạn!
Input, Output và Subtasks
Input: (bàn phím)
- Dòng đầu tiên gồm 2 số n,q (1\le n,q\le 2\times 10^5).
- Dòng tiếp theo gồm một xâu s độ dài n.
- Sau đó là q dòng, mỗi dòng gồm 2 số l,r (1\le l<r\le n).
Output: (màn hình)
- Vỡi mỗi truy vấn, in ra giá trị của lcp(p_l,p_{l+1},\dots,p_r)
Subtasks
- 30\% số điểm có n\le 100.
- 30\% số điểm có n\le 2000.
- 40\% số điểm còn lại không có giới hạn gì thêm.
Sample
Input (bàn phím)
4 3
abbb
1 2
2 3
2 4
Output (màn hình)
0
2
1
TLE-oj Cup Round 12 - Trò chơi Nim chuẩn
và rủ nhau chơi một trò chơi. mang đến n viên sỏi và hai người dự định sẽ chơi một trò chơi Nim chuẩn. Trò chơi được phát biểu như sau:
Phát biểu trò chơi
Có k đống sỏi, và mỗi đống lần lượt có p_1,p_2,…,p_k sỏi, trong đó mỗi số p_i là một số nguyên không âm. Mỗi trạng thái trò chơi tương ứng với mỗi bộ n cho biết số sỏi của từng đống này.
Có hai người chơi thay phiên nhau bỏ sỏi. Người chơi trong lượt hiện tại có thể loại bỏ bao nhiêu sỏi tùy thích, miễn là tất cả các sỏi đều cùng một đống. Hình thức hơn, người chơi sẽ chọn một đống sỏi i và số lượng sỏi s để loại bỏ khỏi đống (0<s≤p_i), sau đó thay p_i bằng p_i−s. Chú ý rằng người chơi không thể bỏ qua lượt của mình mà không bỏ viên sỏi nào cả. Sau đó, đến lượt người chơi kia loại bỏ sỏi, lần lượt như vậy tới khi trò chơi kết thúc.
Trò chơi kết thúc khi không còn sỏi trên bàn chơi. Người chiến thắng là người lấy được viên sỏi cuối cùng. Nói cách khác, người thua cuộc là người đầu tiên không thể lấy sỏi trong lượt của mình.
(Nguồn: VNOI Wiki)
đã chọn ra một số nguyên dương k. buộc phải chia n viên sỏi thành k đống, mỗi đống có ít nhất một viên và sẽ là người được bốc sỏi trước ở trò chơi này. Bạn hãy giúp bằng cách chỉ ra một cách chia sỏi sao cho luôn thắng cho dù có đi như thế nào.
Input, Output và Subtasks
Input: (NIMGAME.inp)
- Một dòng duy nhất gồm hai số nguyên dương n, k (1 \le k \le \min(10^6, n), 1 \le n \le 10^{18})
Output: (NIMGAME.out)
- Dòng đầu tiên in
YESnếu tồn tại cách sắp xếp cho luôn thắng, vàNOtrong trường hợp ngược lại. - Nếu dòng đầu tiên in
YES, dòng thứ hai in ra một dãy p bất kỳ thỏa mãn điều kiện.
Subtasks
- Subtask 1 (20\%): n \le 10.
- Subtask 2 (30\%): n \le 100.
- Subtask 3 (20\%): n \le 1000.
- Subtask 4 (30\%): Không có giới hạn gì thêm.
Sample 1
Input (NIMGAME.inp)
10 9
Output (NIMGAME.out)
NO
Note
- Cách duy nhất để chia 10 viên sỏi vào 9 đống là có 8 đống 1 viên và 1 đống 2 viên. Với cách chia này thì luôn thua.
Sample 2
Input (NIMGAME.inp)
10 5
Output (NIMGAME.out)
YES
1 2 2 2 3
Note
- Không có note.
A + B (C++ plz)
Cho ba số nguyên dương A, B, M \le 15 \times 10^{18}. Tính (A + B) \% M, với \% là ký hiệu của phép chia lấy dư. (Lưu ý giới hạn thời gian và bộ nhớ bất thường cho bài này)
(Some hint: Kiểu dữ liệu unsigned long long trong C++ có thể lưu trữ số nguyên không âm lên đến 2^{64} - 1, tương đương khoảng 19*10^{17}).
Input
- Dòng đầu tiên là số nguyên dương T \le 5, số testcases.
- T dòng tiếp theo, mỗi dòng gồm 3 số nguyên dương A, B, M.
Output
- Gồm T dòng, mỗi dòng là kết quả của một bài toán theo thứ tự xuất hiện trong input.
Sample
Sample
Input
4
1 1 100
2 2 100
4 1 100
5 5 100
Output
2
4
5
10
Notes
Một với một là hai
Hai thêm hai là bốn
Bốn với một là năm
Năm với năm là mười
...
Bội số 30 (Bà Rịa Vũng Tàu 2025)
Đề 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
TLE-oj Cup Round 11 - Bộ ba tam giác
Bạn được cho một số nguyên dương n. Nhiệm vụ của bạn là đếm số bộ ba số (i,j,k) thỏa mãn:
- 1\le i<j<k\le n
- i,j,k là 3 cạnh của một tam giác
Input, Output và Subtasks
Input: (TRIANGLE.inp)
- Dòng đầu tiên nhập số t là số testcase (t\le 10^6)
- t dòng tiếp theo, mỗi dòng chứa duy nhất một số nguyên n (n\le 10^{18})
Output: (TRIANGLE.out)
- Với mỗi truy vấn, in ra một số duy nhất là kết quả bài toán sau khi mod\ 10^9+7
Subtasks
- Subtask 1 (20\%): n\le 200,t=1.
- Subtask 2 (20\%): n\le 5000,t=1.
- Subtask 3 (20\%): n\le 10^6
- Subtask 4 (20\%): n\le 10^9
- Subtask 5 (20\%): Không có giới hạn gì thêm.
Sample
Input (TRIANGLE.inp)
1
5
Output (TRIANGLE.out)
3
Note
- Các bộ ba thỏa mãn: (2,3,4), (2,4,5), (3,4,5)
Chuẩn hóa (THTB ĐN 2023)
Nhập vào một xâu s là họ tên của một người, hãy chuẩn hóa lại họ tên đó. Xâu họ tên là xâu chuẩn hóa khi thỏa mãn điều kiện sau:
- Không có dấu cách nữa
- Chữ cái đầu mỗi từ viết in hoa còn lại in thường
Input, Output và Subtasks
Input
- Nhập từ bàn phím một xâu s là họ tên của một người có độ dài không quá 255 ký tự
Output
- In ra màn hình xâu họ tên sau khi được chuẩn hóa
Sample 1
Input
NgUyen vAn Ca
Output
Nguyen Van Ca
Sample 2
Input
lE vaN TEO
Output
Le Van Teo
Cửa sổ (Khánh Hòa 2024)
Đề bài: Đề thi được đính kèm trong tệp PDF bên dưới.
- Tệp vào:
CUASO.INP - Tệp ra:
CUASO.OUT - Thời gian chạy:
1.0s - Bộ nhớ:
1024MB
Số thân thiện (Long An 2023)
Đề bài: Đề thi được đính kèm trong tệp PDF bên dưới.
- Tệp vào:
Bàn phím - Tệp ra:
Màn hình - Thời gian chạy:
1.0s - Bộ nhớ:
1024MB
Sửa đường (Quảng Ninh 2025)
Đề bài: Đề thi được đính kèm trong tệp PDF bên dưới.
- Tệp vào:
roa.inp - Tệp ra:
roa.out - Thời gian chạy:
1.0s - Bộ nhớ:
1024MB
TLE-oj Cup Round 1 - Treo tranh
Vào một ngày đẹp trời, mèo mẹ mang về cho mèo con p bức tranh 1\times2 và q bức tranh 2\times1. Những con mèo con rất thích bức tranh này và chúng quyết định treo hết bức tranh lên tường. Bức tường của nhà mèo có thể biểu diễn dạng một lưới ô vuông m \times n và nếu treo 1 bức tranh có kích thước a \times b thì bức tranh sẽ chiếm a \times b ô trên lưới. Những bức tranh không được phép treo đè lên nhau. Mèo mẹ viết lên ô (i, j) một số nguyên không âm a_{i, j} (\left| a_{i, j} \right| \le 10^3) và đố những con mèo con treo như thế nào để có tổng giá trị C lớn nhất. Giá trị C được tính như sau:
Với bức tranh 1 \times 2: (có thể lấy hình ở đây)
Với bức tranh 2 \times 1: (có thể lấy hình ở đây)

Những con mèo con đã ngồi tìm hàng giờ mà vẫn chưa tìm được kết quả. Vì vậy chúng đã nhờ bạn giúp và nếu bạn giúp được bạn sẽ nhận được 1 con cá :Đ
Test luôn thỏa mãn yêu cầu của đề bài, nghĩa là luôn có cách treo p bức tranh 1\times2 và q bức tranh 2\times1 lên bức tường m \times n.
Input, Output và Subtasks
Input: (PICTURE.inp)
- Dòng đầu tiên gồm số nguyên dương m, n, p, q (1 \le m \le 10,1 \le n \le 10,0 \le p \le 10, 0\le q\le 10) lần lượt là độ dài 2 cạnh của tường, số bức tranh 1\times2 và số bức tranh 2\times1.
- m dòng tiếp theo, mỗi dòng gồm n số nguyên (\left| a_{i, j} \right| \le 10^3).
Output: (PICTURE.out)
- Kết quả là 1 số nguyên C duy nhất.
Subtasks
- 10% số điểm có m \le 3, n \le 3.
- 30% số điểm có p \le 1, q \le 1.
- 60% còn lại không giới hạn gì thêm.
Sample
Input (PICTURE.inp)
3 3 1 1
2 3 1
-1 0 2
2 1 1
Output (PICTURE.OUT)
5
Notes
- Những con mèo có thể treo tranh 1 \times 2 ở vị trí (a_{1, 2}, a_{2, 2}) và treo tranh 2 \times 1 ở vị trí (a_{2, 3}, a_{3, 3}). Vậy C=(3-1)+(2+1)=5.
THỐNG KÊ SẢN PHẨM (Nghệ An 2024)
Đề bài: Đề thi được đính kèm trong tệp PDF bên dưới.
- Tệp vào:
TKSP.INP - Tệp ra:
TKSP.OUT - Thời gian chạy:
1.0s - Bộ nhớ:
1024MB
THỪA SỐ NGUYÊN TỐ (Thanh Hóa 2023)
Đề bài: Đề thi được đính kèm trong tệp PDF bên dưới.
- Tệp vào:
THUASONT.INP - Tệp ra:
THUASONT.OUT - Thời gian chạy:
1.0s - Bộ nhớ:
1024MB
Trò chơi (HSG9 VT 2023)
Nhân kỷ niệm ngày thành lập Đoàn, cô Tổng phụ trách tổ chức 1 trò chơi có thưởng cho các bạn lớp 9 như sau: Có N ô vuông được vẽ thẳng hàng trên sân trường, các ô vuông được đánh số từ 1, 2, \dots, N. Mỗi ô vuông i (1\le i\le N) có giá trị năng lượng là h_i. Một bạn học sinh đang ở ô vuông thứ i, bạn ấy có thể nhảy tới ô vuông tiếp theo các cách:
- Nếu bạn ở ô vuông thứ i thì bạn có thể nhảy đến ô vuông thứ tự i+1,i+2,\dots,i+k
- Chi phí năng lượng của bạn tiêu hao cho 1 lần nhảy là |h_j-h_i| với h_j là ô vuông đích mà bạn nhảy tới
Bạn học sinh nào di chuyển từ ô số 1 đến ô số N với chi phí năng lượng thấp nhất sẽ được cô thưởng một phần quà
Yêu cầu: Hãy tìm chi phí thấp nhất để giúp các bạn học sinh nhảy từ ô vuông số 1 đến ô vuông thứ N
Input và Output
Input: (GAME.inp)
- Dòng đầu tiên chứa 2 số N và K cách nhau một ký tự trắng: N là số ô vuông, K là số ô vuông tối đa bạn học sinh có thể nhảy qua (2\le N\le 10^5,1\le K\le 100)
- Dòng thứ hai chứa N giá trị h_i (1\le h_i\le 10^4), mỗi số cách nhau một ký tự trắng chỉ phí năng lượng của ô vuông thứ i tương ứng
Output: (GAME.out)
- Một số nguyên duy nhất là tổng chi phí phát sinh tối thiểu
Bonus
- Bạn có thể giải quyết bài toán này với N\cdot K\le 10^8,N\le 10^6 ?
Subtasks
- Subtask 1 (10\%): N\le 25.
- Subtask 2 (30\%): N\le 10^5,K\le 100.
- Subtask 3 (60\%): Không có ràng buộc gì thêm.
Sample
Input (GAME.inp)
5 3
10 25 35 40 20
Output (GAME.out)
20
Note
Cách nhảy của bạn học sinh sẽ là: 1\rightarrow 2\rightarrow 5, tổng chi phí phát sinh sẽ là |25-10|+|20-25|=20
TLEoj Contest #08 - Fibonacci lũy thừa
Ta định nghĩa F_i là số fibonacci thứ i với công thức như sau:
- Nếu i\le 2 thì F_i=1
- Ngược lại, F_i=F_{i-1}+F_{i-2}
Cho q truy vấn, mỗi truy vấn gồm 4 số a,b,c,M. Nhiệm vụ của bạn là phải tính F_{a^b}\text{ }mod\text{ }F_c. Vì kết quả có thể rất lớn nên hãy xuất kết quả mod\text{ }M
Input, Output và Scoring
Input (bàn phím)
- Dòng đầu tiên nhập số q chỉ số truy vấn (1\le q\le 5\cdot 10^5)
- Sau đó là q dòng, mỗi dòng nhập 4 số a,b,c,M (1\le a,b\le 10^{18},1\le c, M\le 10^9)
Output (màn hình)
- Xuất ra q dòng, dòng thứ i xuất ra kết quả tương ứng của truy vấn thứ i
Subtasks
- Subtask 1 (5\%): a^b\leq 88
- Subtask 2 (5\%): a^b\leq 10^{18},c\leq 88
- Subtask 3 (10\%): c\leq 88
- Subtask 4 (15\%): q\le 10^5
- Subtask 5 (15\%): q\le 2\cdot 10^5
- Subtask 6 (50\%): Không có ràng buộc gì thêm.
Sample
Input (bàn phím)
4
3 3 3 10
3 3 5 10
3 3 5 2
4 16 15 300
Output (màn hình)
0
3
1
77
Notes
Trong truy vấn 1, ta có F_{3^3}\text{ }mod\text{ }F_3=196418\text{ }mod\text{ }2=0, 0\text{ }mod\text{ }10=0
Trong truy vấn 2, ta có F_{3^3}\text{ }mod\text{ }F_5=196418\text{ }mod\text{ }5=3, 3\text{ }mod\text{ }10=3
Trong truy vấn 3, ta có F_{3^3}\text{ }mod\text{ }F_5=196418\text{ }mod\text{ }5=3, 3\text{ }mod\text{ }2=1


