| # | Bài tập | Điểm | Thời gian: | Giới hạn bộ nhớ |
|---|---|---|---|---|
| 1 | Bài 1: STRING (TS10 PTNK - 2026) | 4 (p) | 1.0s | 256M |
| 2 | Bài 2: SENSOR (TS10 PTNK - 2026) | 3 (p) | 1.0s | 256M |
| 3 | Bài 3: VERYODD (TS10 PTNK - 2026) | 2 (p) | 1.0s | 256M |
| 4 | Bài 4: EXPLORE (TS10 PTNK - 2026) | 1 (p) | 1.0s | 256M |
Cho xâu \(S\) gồm các chữ cái Latin thường từ a tới z.
Ta được phép xáo trộn tùy ý vị trí các ký tự trong xâu \(S\), sau đó cắt xâu \(S\) thành các đoạn con sao cho tất cả các đoạn con thu được đều là xâu đối xứng.
Mục tiêu là thực hiện việc cắt sao cho số lượng đoạn con tạo thành là ít nhất có thể.
Test 1
abcadd
2
Một cách sắp xếp và cắt thỏa mãn số xâu đối xứng cắt nhỏ nhất: cadbda \(\to\) c|adbda.
a và b.Dọc theo một ống dẫn nước nóng, người ta lắp \(n\) cảm biến nhiệt độ cách đều nhau, được đánh số từ \(1\) tới \(n\). Cảm biến thứ \(i\) đang hiển thị nhiệt độ đo được là \(a_i\) (nhiệt độ). Nhiệt độ có xu hướng phụ thuộc vào vị trí trên đường ống, theo đó người ta tính toán được nhiệt độ trung bình về mặt lý thuyết của đoạn \([l; r]\) (\(1 \le l \le r \le n\)) là \(l + r\). Để kiểm chứng, họ cần đếm số lượng đoạn phù hợp với lý thuyết.
Yêu cầu: Hãy đếm số đoạn cảm biến liên tiếp mà nhiệt độ trung bình đo được bằng với nhiệt độ trung bình về mặt lý thuyết. Cụ thể cần đếm số đoạn \([l; r]\) (\(1 \le l \le r \le n\)) thỏa mãn:
Test 1
3
3 3 6
3
Đoạn phù hợp là: \([1; 2], [1; 3], [3; 3]\).
Số nguyên dương \(m > 1\) được gọi là "số rất lẻ" nếu các ước dương của \(m\) (kể cả chính nó) có thể được viết lên một vòng tròn theo một thứ tự nào đó sao cho tổng của hai số đứng cạnh nhau luôn là một số lẻ.
Ngoài ra, tổng của tất cả các ước dương của \(m\) cũng phải là số lẻ.
Ví dụ, \(18\) là một số rất lẻ vì các ước của nó là: \(1, 2, 3, 6, 9, 18\). Có thể viết chúng lên vòng tròn theo thứ tự trên, khi đó tổng của hai số đứng cạnh nhau luôn là số lẻ. Đồng thời, tổng các ước của chúng cũng là số lẻ:
mà \(39\) cũng là số lẻ.
Yêu cầu: cho \(q\) truy vấn. Mỗi truy vấn gồm một số nguyên dương \(n\). Hãy in ra số lượng số rất lẻ là ước của \(n\).
Test 1
3
18
30
7
2
1
0
Cho ma trận kích thước \(n \times m\). Nhân vật phải di chuyển từ vị trí bắt đầu đến vị trí kết thúc theo chỉ định, bằng cách thực hiện các bước dịch chuyển tức thời từ ô \((x, y)\) đến ô \((z, t)\) thuộc bảng nếu thỏa mãn điều kiện \((z - x)^2 + (t - y)^2 = d_i\) với \(d_i\) là một trong \(k\) loại dịch chuyển cho trước.
Có thử thách:
Lưu ý rằng cũng có thể có nhiều con sói trong ma trận.
Yêu cầu: tìm ít lượt di chuyển nhất để về đích, nếu không có cách nào thì in \(-1\).
. : Ô trống mà nhân vật và sói có thể đi vào.# : Ô tường cấm, không ai được phép đi vào.s : Vị trí xuất phát của nhân vật.t : Vị trí đích đến của nhân vật.w : Vị trí ban đầu của sói.Test 1
2 5 2
s..#.
w..#t
1 5
3
Nhân vật di chuyển như sau:
\((1, 1) \to (2, 3) \to (1, 5) \to (2, 5)\).
w và không có ô #.w và không có ô #.w.w.