Bedan Contest #05 - C - Xâu đối xứng
Cho xâu s gồm n kí tự, có q truy vấn cần thực hiện có dạng sau:
l r: Hãy kiểm tra có tồn tại một cặp số (i, j) nào thỏa mãn s_is_{i+1}...s_j là xâu đối xứng hay không (l \le i < j \le r).
Input and Output
Input
- Hai số nguyên dương n, q (1 \le n, q \le 10^5).
- Xâu s gồm n kí tự s_1s_2...s_n (s_i là chữ cái Latin thường).
- q dòng tiếp theo, dòng thứ i là truy vấn thứ i có dạng
l r(1 \le l \le r \le n).
Output
- Với mỗi truy vấn, hãy in ra
Yesnếu có vàNonếu ngược lại.
Test
Input
10 4
aabcbaddac
1 6
8 10
3 9
4 7
Output
Yes
No
Yes
No
Note
- Trong đoạn [1, 6], ta có cặp (2, 6) thỏa mãn vì
abcbalà xâu đối xứng. - Trong đoạn [8, 10], dễ dàng thấy không có cặp (i, j) nào thỏa mãn.
- Trong đoạn [3, 9], ta có cặp (7, 8) thỏa mãn vì
ddlà xâu đối xứng. - Trong đoạn [4, 7], dễ dàng thấy không có cặp (i, j) nào thỏa mãn.
Ổ cắm điện (Kon Tum 2025)
Đề bài: Đề thi được đính kèm trong tệp PDF bên dưới.
- Tệp vào:
ODIEN.INP - Tệp ra:
ODIEN.OUT - Thời gian chạy:
1.0s - Bộ nhớ:
1024MB
Đoạn con (Vĩnh Phúc 2025)
Đề bài: Đề thi được đính kèm trong tệp PDF bên dưới.
- Tệp vào:
CAU4.INP - Tệp ra:
CAU4.OUT - Thời gian chạy:
1.0s - Bộ nhớ:
1024MB
CHIA LẤY DƯ (Lào Cai 2024)
Đề bài: Đề thi được đính kèm trong tệp PDF bên dưới.
- Tệp vào:
bai5.inp - Tệp ra:
bai5.out - Thời gian chạy:
1.0s - Bộ nhớ:
1024MB
Game X (Bà Rịa Vũng Tàu 2023)
Đề 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
Mật mã kho báu (TS10 QNi 2023)
Gần đây nhóm của An đã khám phá ra một kho báu trên một hòn đảo hoang. Trên cánh cửa lối vào, An thấy có ghi một xâu nhị phân S (xâu chỉ chứa các chữ số 0 và 1). Ký hiệu |S| là độ dài của xâu S, tức là số ký tự của xâu S. Các ký tự của xâu S được đánh chỉ số từ 1 đến |S|
Sau khi nghiên cứu các tài liệu và bản khảo cổ, An biết được mật mã để mở cửa kho báu này là một bộ 4 số l_1,r_1,l_2,r_2, trong đó [l_1,r_1] và [l_2,r_2] là 2 đoạn chữ số khác nhau của xâu S. Hai đoạn này phải có cùng độ dài và dài nhất có thể, hơn nữa tổng các chữ số của 2 đoạn phải bằng nhau. Cụ thể, mật mã của kho báu là 4 số l_1,r_1,l_2,r_2 sao cho:
- 1\le l_1\le r_1\le |S| và 1\le l_2\le r_2\le |S|
- [l_1,r_1] và [l_2,r_2] là 2 đoạn khác nhau của S, tức là l_1\ne l_2 hoặc r_1\ne r_2
- r_1-l_1=r_2-l_2
- S_{l_1}+S_{l_1+1}+\dots+S_{r_1}=S_{l_2}+S_{l_2+1}+\dots+S_{r_2}
- r_1-l_1 lớn nhất
Theo như An tìm hiểu được từ bản thảo, nếu có nhiều bộ 4 số thỏa mãn thì bất kỳ bộ nào trong chúng đều có thể làm mật mã. Bây giờ An cần tìm mật mã cho kho báu, nhưng anh ấy không thể tìm được nếu không có sự giúp đỡ của bạn. Bạn hãy giúp An tìm mật mã của kho báu.
Input, Output và Subtasks
Input: (pass.inp)
- Dòng đầu tiên chứa số nguyên t (1\le t\le 5) là số test. Mỗi dòng trong t dòng tiếp theo chứa một xâu nhị phân S (xâu S chỉ bao gồm các chữ số 0,1 và 1\le |S|\le 10^6)
Output: (pass.out)
- Với mỗi test, in kết quả trên 1 dòng: nếu không tồn tại một bộ 4 số như vậy thì in ra -1, ngược lại in ra 4 số l_1,r_1,l_2,r_2 là mật mã cần tìm. Nếu có nhiều câu trả lời thì in ra một câu trả lời bất kỳ trong số chúng
Subtasks
- Subtask 1 (25\%): Tổng độ dài tất cả xâu S không vượt quá 50
- Subtask 2 (25\%): Tổng độ dài tất cả xâu S không vượt quá 500
- Subtask 3 (25\%): Tổng độ dài tất cả xâu S không vượt quá 10^4
- Subtask 4 (25\%): Không có giới hạn gì thêm.
Sample
Input (pass.inp)
3
111111
010101
1
Output (pass.out)
1 5 2 6
2 5 3 6
-1
Note
- Trong test đầu tiên, đoạn [1,5] ứng với xâu con
11111và đoạn [2,6] ứng với xâu con11111là 2 đoạn khác nhau có cùng độ dài và có cùng tổng các chữ số bằng 5. Không tồn tại 2 đoạn nào có độ dài lớn hơn thỏa mãn tất cả các điều kiện - Trong test thứ hai, đoạn [2,5] ứng với xâu con
1010và đoạn [3,6] ứng với xâu con0101là 2 đoạn khác nhau có cùng độ dài và có cùng tổng các chữ số bằng 2. Không tồn tại 2 đoạn nào có độ dài lớn hơn thỏa mãn tất cả các điều kiện - Trong test thứ ba, không tồn tại 2 đoạn nào thỏa mãn tất cả điều kiện
Số cặp (Đắk Nông 2024)
Đề 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ớ:
1024MB
Tạo số (Quảng Trị 2025)
Đề bài: Đề thi được đính kèm trong tệp PDF bên dưới.
- Tệp vào:
CAU2.INP - Tệp ra:
CAU2.OUT - Thời gian chạy:
1.0s - Bộ nhớ:
1024MB
Giai đoạn tiến bộ nhất (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ớ:
1024MB
Mật mã (Hà Nội 2023)
Đề bài: Đề thi được đính kèm trong tệp PDF bên dưới.
- Tệp vào:
MM.INP - Tệp ra:
MM.OUT - Thời gian chạy:
1.0s - Bộ nhớ:
1024MB
TLEOJ [x QTOJ] Contest #13 - C - Tích chính phương
Cho một số nguyên dương n. Đếm số lượng cặp số nguyên dương (a, b) sao cho 1 \le a < b \le n và a \times b là số chính phương.
Input và Output
Input: (bàn phím)
- Một dòng duy nhất gồm một số nguyên dương n (n \le 10^{10}).
Output: (màn hình)
- Gồm một dòng là số cặp tìm được. Dữ liệu đầu vào đảm bảo kết quả không vượt quá 2^{60}.
Sample
Input (bàn phím)
10
Output (màn hình)
4
Note
- Các cặp số thỏa mãn là: (1, 4), (1, 9), (4, 9), (2, 8).
Pre TS10 2023 #03 - Logic của fan đội M
Trong bóng đá có rất nhiều loại fan, nhưng đông nhất có lẽ là fan đội M. Các fan đội M đôi khi có những logic rất khác lạ, do đó đôi khi được những fan của đội khác đặt cho những biệt danh như Mân đàn hay Mân đù.
Một trong những logic khác lạ của fan đội M là việc tỉ số của một trận đấu có thể được rút gọn bằng cách chia số bàn thắng của cả hai đội cho một số nguyên dương sao cho sau khi chia thì số bàn thắng của hai đội vẫn là một số nguyên. Ví dụ, tỉ số trận đấu là 6 - 3 thì theo logic của fan đội M thì tỉ số trận đấu có thể vẫn là 6 - 3 (chia số bàn thắng của cả hai đội cho 1) hoặc 2 - 1 (chia số bàn thắng của cả hai đội cho 3).
Fan đội M cũng có cách tính tổng tỉ số hai trận giống như các đội khác (nghĩa là lấy tổng số bàn thắng của mỗi đội ở cả hai trận để so sánh), nhưng với việc tỉ số của một trận đấu có thể được rút gọn, nên kết quả khi tính tổng tỉ số của fan đội M so với người bình thường có thể khác nhau. Ví dụ, nếu trận lượt đi đội M thua 3 - 6 nhưng trận lượt về đội M thắng lại 2 - 1 thì fan đội M có thể rút gọn tỉ số của trận lượt đi thành 2 - 1 rồi tính tổng tỉ số là 3 - 3, từ đó fan đội M sẽ đi đến kết luận rằng đội M giành được kết quả hòa sau hai trận.
Bạn được cho tỉ số của hai trận đấu giữa đội M và một đội khác. Bạn cần phải tính xem theo logic của fan đội M và theo logic của người bình thường thì đội M có kết quả như thế nào sau hai trận. (Lưu ý: fan đội M luôn chọn kết quả có lợi nhất cho đội của mình nếu có nhiều cách rút gọn)
Input, Output và Subtasks
Input: (bàn phím)
- Gôm hai dòng, mỗi dòng gồm hai số nguyên không âm mô tả tỉ số của hai trận đấu. Ở mỗi dòng, số nguyên đầu tiên là số bàn thắng đội M ghi được, và số nguyên thứ hai là số bàn thắng đội còn lại ghi được. Các số nguyên có giá trị không vượt quá 10^9.
Output: (màn hình)
- Gồm hai từ cách nhau một dấu cách: Từ đầu tiên mô tả kết quả chung cuộc của hai lượt trận theo logic của fan đội M (
Win: thắng,Draw: Hòa,Lose: thua), từ thứ hai mô tả kết quả chung cuộc của hai lượt trận theo logic của người bình thường.
Subtasks
- Subtask 1 (40\%): Các số nguyên có giá trị không vượt quá 7.
- Subtask 2 (30\%): Các số nguyên có giá trị không vượt quá 1000.
- Subtask 3 (30\%): Không có giới hạn gì thêm.
Sample 1
Input (bàn phím)
2 1
0 7
Output (màn hình)
Draw Lose
Note
- Theo logic của người bình thường, đội M thua với tổng tỉ số 2 - 8 sau hai lượt trận.
- Fan đội M có thể rút gọn tỉ số trận thứ hai thành 0 - 1 và có thể tính tổng tỉ số sau hai lượt trận là 2 - 2, do đó đội M hòa sau hai lượt trận.
Sample 2
Input (bàn phím)
4 2
0 7
Output (màn hình)
Win Lose
Note
- Theo logic của người bình thường, đội M thua với tổng tỉ số 4 - 9 sau hai lượt trận.
- Fan đội M có thể rút gọn tỉ số trận thứ hai thành 0 - 1 và có thể tính tổng tỉ số sau hai lượt trận là 4 - 3, do đó đội M thắng sau hai lượt trận.
Mua bút (Bình Dương 2024)
Đề 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
Thời điểm bán hoa (Bình Dương 2023)
Đề bài: Đề thi được đính kèm trong tệp PDF bên dưới.
- Tệp vào:
CAU3.INP - Tệp ra:
CAU3.OUT - Thời gian chạy:
1.0s - Bộ nhớ:
1024MB
Tuyệt chiêu (TP Hồ Chí Minh 2025)
Đề bài: Đề thi được đính kèm trong tệp PDF bên dưới.
- Tệp vào:
TUYETCHIEU.INP - Tệp ra:
TUYETCHIEU.OUT - Thời gian chạy:
1.0s - Bộ nhớ:
1024MB
TLEoj Contest #11 - An interesting problem about digit sums
Một bài toán rất thú vị về tổng chữ số
rất thích những tính chất thú vị về tổng chữ số nên cậu đã tự đặt bài toán cho mình như sau:
- Đầu tiên sẽ cho bạn 2 số l,r.
- Ta định nghĩa f(x)=|d(x)-d(x-1)|. Trong đó d(x) là tổng chữ số của x.
- Nhiệm vụ của bạn là hãy tính \sum_{i=l}^r f(i).
Input, Output và Subtasks
Input
- Dòng đầu tiên gồm một số nguyên dương t là số testcase (1\le t\le 2\times 10^4).
- Sau đó là t dòng, mỗi dòng gồm 2 số l,r\ (1\le l\le r\le 10^{18}).
Output
- Với mỗi testcase, in ra duy nhất 1 giá trị là kết quả của bài toán trên một dòng.
Scoring
- Subtask 1 (20\%): 1\le l\le r\le 10^7.
- Subtask 2 (80\%): Không giới hạn gì thêm.
Sample
Input
5
9 9
10 10
13 21
90 100
1 1000000000000000000
Output
1
8
16
34
1799999999999999999
Note
- Trong testcase thứ nhất, ta có f(9)=|d(9)-d(8)|=|9-8|=1.
- Trong testcase thứ hai, ta có f(10)=|d(10)-d(9)|=|1-9|=8.
- Trong testcase thứ tư, ta có:
- f(90)=|d(90)-d(89)|=|9-17|=8.
- f(91)=|d(91)-d(90)|=|10-9|=1.
- f(92)=|d(92)-d(91)|=|11-10|=1.
- f(93)=|d(93)-d(92)|=|12-11|=1.
- f(94)=|d(94)-d(93)|=|13-12|=1.
- f(95)=|d(95)-d(94)|=|14-13|=1.
- f(96)=|d(96)-d(95)|=|15-14|=1.
- f(97)=|d(97)-d(96)|=|16-15|=1.
- f(98)=|d(98)-d(97)|=|17-16|=1.
- f(99)=|d(99)-d(98)|=|18-17|=1.
- f(100)=|d(100)-d(99)|=|1-18|=17.
Tổng là: 8+1+1+1+1+1+1+1+1+1+17=34.