| # | Bài tập | Điểm | Thời gian: | Giới hạn bộ nhớ |
|---|---|---|---|---|
| A | Đếm ký tự | 100 | 1.0s | 512M |
| B | Quy hoạch tuyến tính | 100 | 1.0s | 512M |
| C | Phát quà | 100 | 1.0s | 512M |
| D | Độ khó chịu | 100 | 1.0s | 512M |
| E | Crush | 100 | 2.0s | 512M |
| F | Phần tử đẹp | 100 | 1.0s | 512M |
Cho xâu \(S\) độ dài \(N\) chỉ chứa các chữ cái latin in thường, các ký tự được đánh chỉ số từ \(1\). Hãy lập trình xử lý lần lượt \(Q\) truy vấn ở hai loại sau:
1 i c hoặc 2 l r thể hiện một truy vấn ở thể loại tương ứng.Test 1
7
abcdbbd
6
2 3 6
1 5 z
2 1 1
1 4 a
1 7 d
2 1 7
3
1
5
Cho \(A+B+C\) lá bài, trong đó có đúng \(A\) lá bài được ghi số \(1\), có đúng \(B\) lá bài ghi số \(0\) và \(C\) lá bài ghi số \(-1\). Bạn hãy lập trình chọn ra \(K\) lá bài trong số chúng để tổng các số được ghi trên các lá bài là lớn nhất có thể.
In ra tổng lớn nhất tìm được.
Test 1
2 1 1 3
2
Test 2
1 2 3 4
0
Test 3
2000000000 0 0 2000000000
2000000000
Oanh Trúc Béo muốn đi phát quà liên khối cho \(n\) học sinh khối chuyên Tin. Các học sinh này đều đứng trên trục số và được đánh số lần lượt từ \(1\) đến \(n\), học sinh thứ \(i\) đứng ở tọa độ \(p_i\). Oanh Trúc đứng ở gốc tọa độ (điểm \(0\)) và muốn tìm một trình tự phát quà để tổng độ bất mãn của \(n\) học sinh này là nhỏ nhất có thể, biết rằng Oanh Trúc cần đúng \(1\) phút để di chuyển được một đơn vị độ dài trên trục số, đồng thời, nếu học sinh nào chưa được nhận quà, thì cứ mỗi phút trôi qua, độ bất mãn của bạn ấy sẽ tăng lên \(1\) (độ bất mãn ban đầu của mỗi người đều bằng \(0\)).
Các bạn hãy lập trình tính toán giúp Oanh Trúc độ bất mãn nhỏ nhất có thể nhé!
Test 1
4
-2 -12 3 7
50
Trình tự tối ưu của Oanh Trúc Béo là lần lượt đi qua các điểm \(-2\), \(3\), \(7\) và \(-12\).
Oanh Trúc mất \(2\) phút để đến tọa độ \(-2\) và tổng độ bất mãn trong \(2\) phút này sẽ tăng lên \(4\cdot 2=8\).
Oanh Trúc mất tiếp \(5\) phút để đến tọa độ \(3\) và tổng độ bất mãn trong \(5\) phút này sẽ tăng lên \(3\cdot 5=15\).
Oanh Trúc mất tiếp \(4\) phút để đến tọa độ \(7\) và tổng độ bất mãn trong \(4\) phút này sẽ tăng lên \(2\cdot 4=8\).
Oanh Trúc mất tiếp \(19\) phút để đến được tọa độ \(-12\) và tổng độ bất mãn trong \(19\) phút cuối này sẽ tăng lên \(19\).
Do đó tổng độ bất mãn là \(8+15+8+19=50\).
Cho dãy số nguyên \(A\) gồm \(N\) phần tử \(A_1\), \(A_2\),..., \(A_N\), ta định nghĩa độ khó chịu của một đoạn con \([L, R]\) là giá trị \(\max(A[L], A[L+1],..., A[R])-\min(A[L], A[L+1],..., A[R])\). Hãy lập trình xác định đoạn con có độ khó chịu nhỏ nhất trong số các đoạn con \([L, R]\) với \(1\leq L < R\leq N\) của dãy \(A\).
Test 1
2
1 3
2
Test 2
3
1 1 1
0
Test 3
5
1 2 1 2 1
1
Ở ví dụ cuối cùng, đoạn con tối ưu ta có thể chọn là \([1, 5]\), giá trị lớn nhất và nhỏ nhất của đoạn con này lần lượt là \(1\) và \(2\), ta được độ khó chịu bằng \(2-1=1\).
Lớp ITK19 có \(n\) học sinh nam, mỗi học sinh nam này đều crush đúng một trong ba bạn nữ: Oanh Trúc, Hương An và Tuyết Ny. Hoàng Hải từng khai thác hết thông tin crush-ship của từng bạn nam trong \(n\) bạn này và ghi chép hết chúng vào một cuốn sổ tay. Thật không may, Hải vừa đánh mất cuốn sổ của mình và rất tiếc nuối các thông tin quý giá mà mình đã dày công sưu tầm. Anh ấy chỉ còn nhớ đúng \(m\) thông tin: mỗi thông tin có dạng S u v hoặc D u v, trong đó, S u v đồng nghĩa với việc học sinh \(u\) và học sinh \(v\) cùng crush chung một người, còn D u v thể hiện rằng \(u\) và \(v\) crush hai người khác nhau.
Hải cho bạn biết \(m\) thông tin đó và nhờ bạn lập trình tính toán giúp có bao nhiêu trạng thái crush-ship thỏa mãn các ràng buộc mà anh đã nêu ra. Hãy giúp Hải nhé!
S u v hoặc D u v thể hiện một ràng buộc tương ứng.Test 1
4 2
S 1 2
D 1 3
18
Có \(6\) trạng thái hợp lệ cho ba học sinh đầu (T tượng trưng cho Oanh Trúc, A tượng trưng cho Hương An và N tượng trưng cho Tuyết Ny): TTA, TTN, AAT, AAN, NNT và NNA. Ở mỗi trạng thái trong \(6\) trạng thái trên lại có \(3\) cách chọn crush cho học sinh thứ tư, vì vậy tổng số trạng thái thỏa mãn là \(6\cdot 3=18\).
Cho dãy số nguyên dương \(A\) gồm \(N\) phần tử. Một phần tử \(A_i\) được gọi là phần tử đẹp nếu nó thỏa mãn điều kiện: không tồn tại chỉ số \(j\) nào (\(1\leq j\leq N\), \(j\neq i\)) mà \(A_i\) chia hết cho \(A_j\). Bạn hãy lập trình tính số phần tử đẹp của dãy \(A\) nhé!
Test 1
5
24 11 8 3 16
3
Test 2
4
5 5 5 5
0
Test 3
10
33 18 45 28 8 19 89 86 2 4
5