| # | Bài tập | Điểm | Thời gian: | Giới hạn bộ nhớ |
|---|---|---|---|---|
| 1 | JOI 2015 - Copy and Paste 2 | 100 (p) | 1.0s | 256M |
| 2 | JOI 2015 - En-JOI-able Logo Design | 100 (p) | 1.0s | 256M |
| 3 | JOI 2015 - Growing Vegetables is Fun 2 | 100 (p) | 1.0s | 256M |
| 4 | JOI 2015 - IOIOI Cards | 100 (p) | 1.0s | 256M |
Ban đầu nội dung tệp là xâu \(S\). Có \(N\) thao tác. Thao tác \(i\) sao chép đoạn từ vị trí \(A_i\) đến ngay trước vị trí \(B_i\), rồi chèn bản sao tại vị trí \(C_i\). Vị trí \(x\) là khe ngay sau \(x\) ký tự đầu tiên, nên vị trí 0 ở đầu xâu và vị trí bằng độ dài ở cuối xâu. Các chỉ số trong thao tác đều được hiểu trên xâu trước thao tác.
Nếu sau khi chèn, độ dài vượt quá \(M\), các ký tự bên phải bị xóa cho đến khi còn đúng \(M\) ký tự. Hãy tìm \(K\) ký tự đầu sau tất cả thao tác.
In \(K\) ký tự đầu của xâu cuối cùng.
\(S\) chỉ gồm chữ thường a đến z, và
Nếu \(L_i\) là độ dài ngay trước thao tác \(i\) thì
Ví dụ 1
2 18
copypaste
4
3 6 8
1 5 2
4 12 1
17 18 0
ac
Trong ví dụ 1, các xâu lần lượt là copypastypae, coopyppypastypae, cyppypastoopyppypa, rồi acyppypastoopyppyp; vì vậy hai ký tự đầu là ac.
Ví dụ 2
6 100
jjooii
3
5 6 2
4 6 1
1 2 3
joioji
Với số nguyên \(k\ge0\), một dãy JOI cấp \(k\) được định nghĩa như sau:
J, O hoặc I.J, \(4^k\) ký tự tiếp đều là O, \(4^k\) ký tự tiếp đều là I, và \(4^k\) ký tự cuối tạo thành một dãy JOI cấp \(k\).Có \(4^K\) ký tự J, O, I viết trên một vòng tròn. Được phép thay đổi một số ký tự. Hãy tìm số thay đổi ít nhất để khi chọn một điểm bắt đầu thích hợp và đọc một vòng theo chiều kim đồng hồ, ta được một dãy JOI cấp \(K\).
Dòng đầu chứa \(K\). Dòng sau là xâu dài \(4^K\), thu được khi đọc vòng tròn từ một điểm cố định theo chiều kim đồng hồ.
In số ký tự ít nhất phải thay đổi.
Ví dụ 1
1
IJOI
0
Khu vườn có \(N\) ô từ tây sang đông; cây IOI \(i\) cao \(H_i\), bán được \(P_i\) yên nếu ra quả. Vào mùa xuân, JOI có thể nhổ cây \(i\) với chi phí \(C_i\); cây bị nhổ sẽ chết.
Một cây còn lại ra quả khi và chỉ khi không có cây còn lại cao hơn nó ở phía tây, hoặc không có cây còn lại cao hơn nó ở phía đông. Lợi nhuận bằng tổng giá bán cây ra quả trừ tổng chi phí nhổ. Hãy tối đa hóa lợi nhuận.
Dòng đầu chứa \(N\). Mỗi trong \(N\) dòng sau chứa \(H_i,P_i,C_i\).
In lợi nhuận lớn nhất.
Ví dụ 1
7
22 60 30
46 40 30
36 100 50
11 140 120
38 120 20
24 90 60
53 50 20
320
Trong ví dụ 1, nhổ cây 2 và 7. Các cây còn lại là 1, 3, 4, 5, 6; cây 4 không ra quả, bốn cây kia ra quả. Lợi nhuận là \(60+100+120+90-30-20=320\).
Ví dụ 2
5
18 150 180
18 380 250
18 140 170
17 180 900
14 150 520
1000
Trong ví dụ 2, không cần nhổ cây nào và mọi cây đều ra quả.
Ví dụ 3
8
52 156 59
15 166 185
16 122 115
24 161 154
44 252 678
32 225 557
44 155 254
59 57 253
854
Có các thẻ ghi I ở mặt trước và O ở mặt sau. Ban đầu xếp lần lượt \(A\) thẻ ngửa, \(B\) thẻ úp, \(C\) thẻ ngửa, \(D\) thẻ úp, rồi \(E\) thẻ ngửa.
Có \(N\) loại thao tác. Loại \(i\) lật mọi thẻ từ vị trí \(L_i\) đến \(R_i\), tốn \(R_i-L_i+1\) giây. Phải thực hiện ít nhất một thao tác; được chọn thứ tự tùy ý và dùng một loại nhiều lần. Hãy tìm thời gian nhỏ nhất để mọi thẻ đều ngửa, hoặc xác định rằng không thể.
In thời gian nhỏ nhất, hoặc -1 nếu không thể thành công.
Ví dụ 1
1 2 3 4 5
3
2 3
2 6
4 10
12
Ở ví dụ 1, ban đầu là IOOIIIOOOOIIIII. Dùng thao tác 2 rồi 3 tạo ra toàn ký tự I, tốn \(5+7=12\) giây.
Ví dụ 2
1 1 1 1 1
1
1 1
-1