| # | Bài tập | Điểm | Thời gian: | Giới hạn bộ nhớ |
|---|---|---|---|---|
| 1 | Sắp xếp (THTB TQ 2021) | 100 (p) | 1.0s | 1G |
| 2 | Bài tập (THT B&C TQ 2021) | 100 (p) | 1.0s | 1G |
| 3 | Bài khó (THT B&C TQ 2021) | 100 (p) | 1.0s | 1G |
| 4 | Thử nghiệm Robot (THTB TQ 2021) | 100 (p) | 1.0s | 1G |
| 5 | Xâu con (THTC Vòng Chung kết) | 100 (p) | 1.0s | 1G |
| 6 | Cắt bánh (THTC Vòng Chung kết) | 100 (p) | 1.0s | 1G |
Xâu \(x\) được gọi là lớn hơn xâu \(y\) nếu xâu \(y\) là đoạn đầu của xâu \(x\) hoặc xét kí tự đầu tiên khác nhau thì kí tự của xâu \(x\) lớn hơn kí tự của xâu \(y\).
Để luyện tập về việc so sánh hai xâu, Hồng đã tạo ra bài toán sau: Từ hai số nguyên dương \(a,b (a < b)\), tạo ra một dãy số gồm \(b - a + 1\) số: \(a, a + 1, ... , b\). Sau đó, sắp xếp lại các số theo thứ tự từ điển (coi mỗi số là một xâu và sắp xếp tăng dần) bằng các thao tác như sau: Mỗi lần chọn
và lấy ra một số trong dãy rồi chèn lại vào dãy ở vị trí bất kì.
Ví dụ, nếu \(a = 9, b = 11\) ta có dãy số gồm \(3\) số \(9, 10, 11\), dãy số được sắp xếp theo thứ tự từ điển là \(10, 11, 9\) và cần ít nhất một thao tác (rút số \(9\) khỏi dãy và chèn vào cuối dãy).
Yêu cầu: Cho hai số nguyên dương \(a, b (a < b)\), hãy tính số thao tác ít nhất để sắp xếp các số \(a, a + 1, ... , b\) theo thứ tự từ điển.
Test 1
9 11
1
Hồng đã soạn được \(n\) bài tập Tin học, bài thứ ݅\(i(1 \le i \le ݊n)\) có độ khó là số nguyên dương \(c_i\). Hồng được cô giáo yêu cầu gửi \(m\) bài tập lên hệ thống luyện tập trực tuyến để tập huấn cho một nhóm các em học sinh khóa dưới. Nếu \(m < n\), khi đó, Hồng phải loại bỏ \(n - m\) bài tập, ngược lại nếu \(m > n\) thì Hồng phải soạn thêm \(m - n\) bài tập với độ khó là số nguyên dương. Khi đưa lên hệ thống \(m\) bài tập, Hồng sẽ sắp xếp các bài theo độ khó tăng dần, gọi \(d\) là chênh lệch độ khó lớn nhất của hai bài tập liên tiếp. Hồng mong muốn giá trị \(d\) nhỏ nhất có thể.
Yêu cầu: Cho \(n\) bài tập với độ khó là ܿ\(c_1, c_2, ..., c_n\) và số \(m\), hãy tìm giá trị \(d\) nhỏ nhất.
Vào từ thiết bị vào chuẩn:
Test 1
5 4
8 5 9 10 10
1
Test 1
3 4
8 6 9
1
Một bài toán khó trong danh sách các bài mà Hồng lựa chọn để tập huấn cho các em học sinh khóa
dưới như sau:
Cho hai số nguyên dương \(n, t\),cần tìm một bộ gồm ít số nguyên dương nhất, giả sử bộ tìm được gồm \(k\) số nguyên dương \(a_1, a_2,..., a_k\) thì:
Yêu cầu: Cho \(2\) số nguyên dương \(n, t\), hãy tìm số nguyên dương \(k\) thoả mãn.
Test 1
4 1
2
Công ty HP vừa thiết kế một loại robot thông minh mới. Để đánh giá khả năng tự vận hành của robot, người ta tạo ra một bức tường từ ݊ cột các khối lập phương, các cột đặt cạnh nhau, bề dày bức tường là 1, độ cao cột thứ \(i\) là ܽ\(a_i\) (do ܽ\(a_i\) khối lập phương tạo lên). Có ݉\(m\) robot tham gia thử nghiệm. Trước tiên người ta chia ݊\(n\) cột thành ݉\(m\) đoạn bằng ݉\(m − 1\) điểm cắt ݇\(k_1, ݇k_2, . . , ݇k_{m-1} (݇k_0 = 0 < k_1 < ... < ݇k_{m-1} < k_m = n)\). Robot thứ ݅ được giao nhiệm vụ xếp lại đoạn từ cột ݇\(k_{i-1} + 1\) đến cột ݇\(k_i\) sao cho các cột trong đoạn có độ cao bằng nhau. Robot chỉ có thể thực hiện một trong hai loại thao tác, mỗi thao tác mất 1 đơn vị thời gian.
Thời gian kết thúc thử nghiệm là thời gian mà robot cuối cùng hoàn thành xong nhiệm vụ.
Yêu cầu: Cho \(a_1, a_2, ..., a_n\) và ݉\(m\). Hãy tìm \(m− 1\) điểm cắt để chia cột thành ݉\(m\) đoạn sao cho thời gian thử nghiệm là nhanh nhất, biết các robot đều thực hiện các thao tác tối ưu.
Vào từ thiết bị nhập chuẩn:
Test 1
6 2
1 1 2 3 4 3
1
Xét xâu \(S\) là một xâu chỉ gồm các kí tự in hoa. Một xâu con của xâu \(S\) là xâu thu được khi xoá một số kí tự (hoặc có thể là không xóa kí tự nào) khỏi xâu \(S\) và giữ nguyên thứ tự các kí tự còn lại. Ví dụ, xâu ABC có các xâu con là A, AC, BC, ABC nhưng BA hay CAB không phải là xâu con của xâu ABC. Dễ thấy, xâu \(S\) độ dài \(N\) sẽ có \(2^N - 1\) xâu con không rỗng.
Để đánh giá độ lặp lại của các xâu con này, Hồng định nghĩa hàm \(f\):
trong đó \(w(S)\) là tập các xâu con khác rỗng của \(S\), \(r(s)\) là số lần lặp của \(s\), \(|s|\) là độ dài xâu \(s\).
Ví dụ xét $S = $ ABAB, các xâu con của \(S\) bao gồm A (2 lần), B (2 lần), AB (3 lần) và AA, BB, BA, AAB, ABB, ABA, BAB, ABAB mỗi xâu xuất hiện 1 lần. Khi đó:
Yêu cầu: Cho xâu \(S\), hãy tính \(f(S)\). Vì \(f(S)\) có thể rất lớn, Hồng cần đưa ra \(f(S) \pmod{10^9 + 7}\), trong đó \(\%\) là phép chia lấy dư.
Test 1
ABAB
48
Vào ngày nhà giáo Việt Nam 20.11 năm nay, Hồng đã làm một chiếc bánh để chúc mừng mẹ. Chiếc bánh có dạng là một hình đa giác đều gồm \(n\) đỉnh, các đỉnh được đánh số từ \(1\) đến \(n\) theo chiều kim đồng hồ. Sau khi chúc mừng mẹ, em Phúc đề xuất cắt bánh bằng \(m\) lần cắt bánh, lần cắt thứ \(k\) đi qua hai đỉnh phân biệt \(i_k, j_k\) (\(1 \le k \le m\)) và đố mọi người có bao nhiêu miếng bánh sau khi cắt.
Yêu cầu: Cho biết các lần cắt bánh, hãy đếm số miếng bánh sau khi thực hiện \(m\) lần cắt bánh.
Test 1
4 1
1 3
2