Lúc em chạm môi anh ta em có ngần ngại?
Có ngần ngại không hay miên man nhớ mãi?
Trả lời đi hương nước hoa thơm mùi gì chen giữa chúng ta
Anh trao em con tim, sao em trao cho anh... MỘT CÚ LỪA
La la la la la la LỪA...
(Một Cú Lừa – Bích Phương)
Chắc nhiều bạn chưa biết, ngoài công việc chính là bán trà sữa dạo, GSPVH còn có một trại nuôi LỪA siêu to khổng lồ.
Sở dĩ GSPVH nuôi LỪA là bởi, để có thể hoàn thành tốt công việc ra đề thi và dạy học – thị trường tiêu thụ trà sữa chính của GS, thì ngoài việc nuôi gà, kỹ năng lùa LỪA cũng vô cùng quan trọng. Người ra đề thi phải biết lùa LỪA thì mới có thể đưa thí sinh vào bẫy, để ban giámkhảo có thể có những tràng cười sảng khoái khi chứng kiến bài làm của thí sinh. Hẳn nhiều thế hệ sinh viên Việt Nam không thể quên bài L đề ICPC quốc gia 2017 hay bài G đề ICPC quốc gia 2018 – những cú LỪA đã đi vào lịch sử. Và biết đâu, ngay trong chính mùa PVHOI 4.0 này cũng có một cú LỪA siêu kinh điển như thế...
Trở lại với trang trại LỪA của GSPVH, nhờ chịu khó chăm nuôi, tâm huyết với đàn, giờ đây đàn LỪA của GSPVH đã phát triển đông đảo với \(n\) con LỪA béo tốt, con LỪA thứ \(i\) có khối lượng là \(w_{i}\). Hôm nay, nhân ngày chủ nhật đầy nắng đẹp và gió mát, GSPVH quyết định dẫn đàn LỪA của mình đi chơi. GSPVH muốn dẫn đàn LỪA của mình sang bên kia sông, nơi có vườn hoa thơm ngát và tươi tắn. Nhưng vì kinh phí có hạn, GS chỉ thuê được một chiếc thuyền với tải trọng \(c\) (nói cách khác, chiếc thuyền này chỉ có thể chở được khối lượng không quá \(c\)).
GSPVH sẽ tự tay chèo thuyền từng chuyến để đưa đàn LỪA này qua sông. Với mong muốn đưa đàn LỪA qua sông nhanh nhất có thể, GSPVH sử dụng chiến lược tham lam như sau:
Chắc hẳn mọi người đều biết GSPVH là người thon gọn, bo đì đẹp, dáng chuẩn, nên khối lượng của GSPVH là không đáng kể. Lấy ví dụ, giả sử GSPVH có \(n = 10\) con LỪA với khối lượng lần lượt là \(2, 3, 5, 7, 11, 13, 17, 19, 23, 29\) và tải trọng của thuyền là \(c = 38\), quá trình đưa đàn LỪA sang sông của GSPVH diễn ra như sau:
Như vậy, trong trường hợp này, GSPVH cần \(4\) lượt chèo thuyền mới có thể đưa được toàn bộ đàn LỪA qua sông.
Do thời gian có hạn, GSPVH muốn đưa toàn bộ đàn LỪA qua sông với không quá \(k\) lượt chèo thuyền. Các bạn hãy giúp GSPVH tìm ra tải trọng \(c\) nhỏ nhất của thuyền để thực hiện được điều này.
Test 1
3
7 3
2 2 7 1 9 9 7
6 6
1 1 2 3 5 8
5 1
1 4 9 16 25
14
8
55
Trong bộ dữ liệu thứ nhất:
Trong bộ dữ liệu thứ hai, GSPVH có thể đưa mỗi lượt một con LỪA sang sông, nên tải trọng thuyền chỉ cần đủ để chở con LỪA có khối lượng lớn nhất sang sông.
Trong bộ dữ liệu thứ ba, GSPVH cần đưa toàn bộ đàn LỪA sang sông chỉ trong \(1\) lượt chèo thuyền, vì vậy tải trọng thuyền tối thiểu cần là tổng khối lượng của đàn LỪA.
Cho dãy số \(a_{1}, a_{2}, \ldots, a_{n}\) và hai số \(k\) và \(s\). Bạn cần đếm số dãy số \(b_{1}, b_{2}, \ldots, b_{n}\) thoả mãn các điều kiện sau:
Do kết quả có thể rất lớn, bạn chỉ cần in ra phần dư của số dãy số thoả mãn khi chia cho \(20215201314\).
Nhắc lại, dãy số \(x_{1}, x_{2}, \ldots, x_{m}\) có thứ tự từ điển nhỏ hơn dãy số \(y_{1}, y_{2}, \ldots, y_{m}\) khi và chỉ khi tồn tại chỉ số \(\alpha\) sao cho:
Test 1
4 6 3
2 3 2 1
7
Trong ví dụ trên, có tất cả \(7\) dãy số thoả mãn là \((2, 3, 3, 1), (3, 1, 2, 2), (3, 1, 2, 3), (3, 1, 3, 1), (3, 2, 2, 2), (3, 2, 2, 3)\) và \((3, 2, 3, 1)\).
Dãy số \((2, 3, 3, 1)\) thoả mãn vì ở đó có chính xác \(6\) cặp chỉ số \((l, r)\) thoả mãn dãy số \(a_{l}, a_{l + 1}, \ldots, a_{r − 1}, a_{r}\) có thứ tự từ điển nhỏ hơn dãy số \(b_{l}, b_{l + 1}, \ldots, b_{r − 1}, b_{r}\). Đó là các cặp:
Dãy số \((3, 1, 3, 1)\) thoả mãn vì ở đó có chính xác \(6\) cặp chỉ số \((l, r)\) thoả mãn các điều kiện ở trên:
Cho một đồ thị vô hướng gồm \(n\) đỉnh và \(m\) cạnh. Các đỉnh được đánh số từ \(1\) đến \(n\) và các cạnh được đánh số từ \(1\) đến \(m\). Cạnh thứ \(i\) nối hai đỉnh \(u_{i}\) và \(v_{i}\).
Bạn cần định chiều đồ thị này để biến từ đồ thị vô hướng thành đồ thị có hướng. Nói cách khác, với cạnh thứ \(i\) trong số \(m\) cạnh của đồ thị được cho, bạn cần biến nó thành cung có hướng \(u_{i} \rightarrow v_{i}\) hoặc cung có hướng \(v_{i} \rightarrow u_{i}\).
Sau khi định chiều, bạn muốn số cặp đỉnh \((x, y)\) thoả mãn \(1 \leq x, y \leq n, \sqrt{\dfrac{x^{2} + y^{2}}{2}} > \dfrac{2}{\dfrac{1}{x} + \dfrac{1}{y}}\) và trên đồ thị có đường đi từ \(x\) đến \(y\) là lớn nhất. Lưu ý rằng \((x, y)\) và \((y, x)\) được tính là hai cặp khác nhau, và việc có đường đi từ \(x\) đến \(y\) không đảm bảo rằng sẽ có đường đi từ \(y\) đến \(x\).
Hãy tìm số cặp đỉnh \((x, y)\) thoả mãn điều kiện trên lớn nhất có thể và chỉ ra một cách định chiều cho ra số cặp này.
F
hoặc B
thể hiện một phương án định chiều. Ký tự thứ \(i\) của xâu \(s\) là F
cho biết bạn sẽ định chiều cạnh thứ \(i\) theo hướng \(u_{i} \rightarrow v_{i}\); ngược lại, nếu bạn định chiều cạnh thứ \(i\) theo hướng \(v_{i} \rightarrow u_{i}\), ký tự thứ \(i\) của xâu \(s\) là B
.Với mỗi test, bạn được \(0\) điểm nếu file kết quả vi phạm ít nhất một trong các điều sau:
F
hay B
.Ngược lại, gọi \(\rho\) là số bộ dữ liệu bạn cho ra chính xác số cặp đỉnh tối đa và đưa ra một phương án định chiều chính xác, \(\epsilon\) là số bộ dữ liệu bạn cho ra chính xác số cặp đỉnh tối đa nhưng chưa có phương án định chiều chính xác, và \(\Omega\) là số điểm tối đa của test; điểm số của bạn trong test được tính bởi công thức:
\(\left(\left(\dfrac{\rho + \epsilon}{\tau}\right)^{\pi} + \left(\dfrac{\rho}{\tau}\right)^{\epsilon}\right) \times \dfrac{\Omega}{2}\)
Điểm của bài là tổng điểm đạt được trong tất cả các test. Điểm tối đa của mỗi test là như nhau. Điểm tối đa của bài là \(60\).
Test 1
1 2
4 4
1 2
2 3
1 3
1 4
4 3
1 2
3 2
3 4
9 FFBB
6 FBF
Hình vẽ sau mô tả đồ thị trong bộ dữ liệu đầu tiên:
Có \(9\) cặp đỉnh \((x, y)\) có đường đi từ \(x\) tới \(y\) là: \((1, 2), (1, 3), (2, 1), (2, 3), (3, 1), (3, 2), (4, 1), (4, 2), (4, 3)\).
Hình vẽ sau mô tả đồ thị trong bộ dữ liệu thứ hai:
Có \(6\) cặp đỉnh \((x, y)\) có đường đi từ \(x\) tới \(y\) là: \((1, 2), (1, 3), (1, 4), (2, 3), (2, 4), (3, 4)\).
Sau khi huỷ diệt Weibo Gaming với tỷ số \(3 – 0\), T1 đã chính thức lần thứ tư lên ngôi vô địch chung kết thế giới. \(7\) năm mòn mỏi chờ đợi của các Tcon đã khép lại trong quả ngọt, giờ là lúc để chúng ta cùng chia vui và chứng kiến các tình yêu ngự trị trên ngai vàng thế giới. Riêng với Faker, màn hạ đo ván The Shy là lời tuyên bố rõng rạc và đanh thép: chúa chỉ có \(1\) mà thôi!
Một trong những yếu tố khiến T1 dễ dàng nghiền nát Weibo Gaming là những màn cấm chọn cân não. Với bể tướng khủng của Gumayusi và Keria, họ sẵn sàng chọn cuối để có những lượt lựa chọn khắc chế mạnh, qua đó khiến đối thủ phải chịu thua dù ván đấu chưa diễn ra phút nào. Nhân ngày T1 đăng quang, chúng ta hãy cùng giải một bài toán về việc cấm chọn này nhé.
Lưu ý rằng bài toán này chỉ được lấy ý tưởng từ việc cấm chọn trong bộ môn Liên Minh Huyền Thoại, chứ hoàn toàn không giống với trò chơi thực. Bởi vậy bạn không cần chơi Liên Minh để làm được bài này, mà có chơi nhiều cũng chưa chắc làm được bài toán này đâu nha. À nhưng mà có một điều chắc chắn là, nếu bạn không chơi Liên Minh mà thay vào đó chơi Liên Quân á, thì bạn sẽ không có giải quốc gia đâu hihi. Vì tương lai có giải quốc gia, hãy nói không với Liên Quân nhé!
Bể tướng của Liên Minh Huyền Thoại có \(n\) vị tướng được đánh số từ \(1\) đến \(n\). Vị tướng thứ \(i\) có chỉ số sức mạnh là \(s_{i}\). Đội chọn được tướng có chỉ số sức mạnh cao sẽ càng có lợi thế trong ván đấu. Hai đội, gọi là đội xanh và đội đỏ, tham gia loạt cấm chọn. Trước khi loạt cấm chọn bắt đầu, trọng tài công bố thông tin về loạt cấm chọn: sẽ có tất cả \(m\) lượt chơi, mỗi lượt sẽ được thực hiện bởi một trong hai đội xanh hoặc đỏ, và lượt đó sẽ hoặc là lượt cấm hoặc là lượt chọn. Mỗi lượt chơi thuộc loại nào và do đội nào thực hiện là cố định và được trọng tài thông báo ngay từ đầu. Sau đó, lần lượt các lượt chơi diễn ra. Tại mỗi lượt, đội thực hiện lượt đó đưa ra quyết định cho mình. Luật chơi cụ thể như sau:
Để có được lợi thế trong ván đấu, cả hai đội đều muốn đội mình có được những vị tướng mạnh nhất còn đối phương có được những vị tướng yếu nhất. Nói cách khác, gọi \(B\) là tổng sức mạnh của những vị tướng thuộc về đội xanh, \(R\) là tổng sức mạnh của những vị tướng thuộc về đội đỏ; đội xanh mong muốn giá trị \(B − R\) lớn nhất có thể, đội đỏ cực tiểu hoá giá trị \(B − R\).
Hãy xác định giá trị \(B − R\) sau khi toàn bộ \(m\) lượt chơi của loạt cấm chọn kết thúc, biết rằng cả hai đội đều rất thông minh, đều biết đối thủ rất thông minh, đều biết đối thủ biết mình rất thông minh,...
b
hoặc p
và một số nguyên là \(1\) hoặc \(2\). Nếu chữ cái là b
, lượt thứ \(i\) là lượt cấm; nếu chữ cái là p
, lượt thứ \(i\) là lượt chọn. Nếu số nguyên là \(1\), đội xanh sẽ thực hiện lượt này; nếu số nguyên là \(2\), đội đỏ sẽ thực hiện lượt này.Test 1
4 2
4 4
8 4 1 1
b 1
b 2
p 1
p 2
4 4
13 11 7 5
p 1
p 2
p 2
p 1
3
0
Trong bộ dữ liệu thứ nhất, loạt cấm chọn có \(m = 4\) lượt chơi lần lượt là: đội xanh cấm \(\rightarrow\) đội đỏ cấm \(\rightarrow\) đội xanh chọn \(\rightarrow\) đội đỏ chọn.
Do đội xanh được chọn trước, ở lượt thứ hai, đội đỏ bắt buộc phải cấm đi vị tướng có sức mạnh \(8\) nhằm ngăn đội xanh chọn nó ở lượt thứ ba. Đội xanh quyết định bỏ qua lượt cấm đầu tiên. Cuối cùng đội xanh chọn vị tướng có sức mạnh \(4\), đội đỏ chọn vị tướng có sức mạnh \(1\). Ta có \(B − R = 4 − 1 = 3\).
Trong bộ dữ liệu thứ hai, mọi lượt chơi đều là lượt chọn. Do đó mỗi đội khi tới lượt của mình đều chọn vị tướng có sức mạnh lớn nhất còn sót lại. Vì vậy \(B − R = (13 + 5) − (11 + 7) = 0\).
Cho một cây gồm \(n\) đỉnh, các đỉnh được đánh số từ \(1\) đến \(n\). Đỉnh \(1\) là gốc của cây. Với các đỉnh còn lại, đỉnh thứ \(i\) có cha là đỉnh \(p_{i}\). Mỗi đỉnh trên cây có ba loại giá trị; các loại giá trị này của đỉnh thứ \(i\) được ký hiệu là \(w_{i}, b_{i}\) và \(g_{i}\). Bạn được cho một số nguyên \(t\).
Bạn cần chọn ra một đỉnh \(r\) cùng một dãy các đỉnh \(s_{1}, s_{2}, \ldots, s_{k}\) thoả mãn các điều kiện dưới đây:
Nhắc lại, dãy số \(x_{1}, x_{2}, \ldots, x_{m}\) có thứ tự từ điển nhỏ hơn dãy số \(y_{1}, y_{2}, \ldots, y_{m}\) khi và chỉ khi tồn tại chỉ số \(\alpha\) sao cho:
Test 1
1 1
13 7
1 1 1 2 2 2 3 3 3 3 4 4
2 2 2 2 2 2 2 2 2 2 2 3 3
1 6 6 9 9 8 7 6 5 4 3 2 1
13 12 11 10 9 8 7 6 5 4 3 2 1
15 3
3 4 5
Ta chọn \(r = 3, k = 3\) và \(s_{1} = 11, s_{2} = 10, s_{3} = 9\). Khi đó:
Bạn cần chọn ra một đỉnh \(r\) cùng một dãy các đỉnh \(s_{1}, s_{2}, \ldots, s_{k}\) thoả mãn các điều kiện dưới đây:
Nhắc lại, dãy số \(x_{1}, x_{2}, \ldots, x_{m}\) có thứ tự từ điển nhỏ hơn dãy số \(y_{1}, y_{2}, \ldots, y_{m}\) khi và chỉ khi tồn tại chỉ số \(\alpha\) sao cho:
Test 1
1 1
13 7
1 1 1 2 2 2 3 3 3 3 4 4
2 2 2 2 2 2 2 2 2 2 2 3 3
1 6 6 9 9 8 7 6 5 4 3 2 1
13 12 11 10 9 8 7 6 5 4 3 2 1
15 3
3 4 5
Ta chọn \(r = 3, k = 3\) và \(s_{1} = 11, s_{2} = 10, s_{3} = 9\). Khi đó:
Các bạn đã tham gia trại hè Tin học Miền Trung – Tây Nguyên tại Quy Nhơn vừa qua hẳn không thể quên Phao Chuối – trò chơi mạo hiểm thử thách sự không sợ sóng biển làm khiếp sợ vị giáo sư đáng kính của chúng ta. Nhưng nay GSPVH đã khôn lớn, trưởng thành, không còn là đứa con nít \(9475\) ngày tuổi hôm nào, nên GSPVH quyết định cùng các bạn học sinh Quảng Ngãi đi trải nghiệm phao chuối một lần nữa.
Chiếc phao chuối tại Lý Sơn lần này có \(n\) vị trí ngồi, các vị trí ngồi được đánh số từ \(1\) đến \(n\) theo thứ tự từ đầu tới đuôi: vị trí thứ \(1\) ở đầu chuối, vị trí thứ \(n\) ở đuôi chuối và với mọi \(1 \leq i \leq n − 1\), vị trí thứ \(i\) và thứ $i + 1% ở cạnh nhau.
Do đã tìm hiểu rất kỹ chiếc phao chuối trước chuyến đi, GSPVH nhận ra rằng, mỗi vị trí ngồi có một độ an toàn nhất định và không có hai vị trí ngồi nào có cùng độ an toàn. Nhờ đó, độ an toàn của \(n\) vị trí ngồi có thể được biểu diễn bởi một hoán vị \(p_{1}, p_{2}, \ldots, p_{n}\) của các số nguyên từ \(1\) đến \(n\). Vị trí ngồi thứ \(i\) an toàn hơn vị trí ngồi thứ \(j\) khi và chỉ khi \(p_{i} < p_{j}\); vị trí \(b\) có \(p_{b} = 1\) là vị trí ngồi an toàn nhất, vị trí \(w\) có \(p_{w} = n\) là vị trí kém an toàn nhất. Cũng vì rất am hiểu về phao chuối, GSPVH tìm ra vị trí ngồi ưa thích của mình là vị trí \(f\).
GSPVH dẫn theo \(n − 1\) bạn học sinh của trường chuyên Lê Khiết đi chơi phao chuối. Coi GSPVH là người số \(1\) và \(n − 1\) bạn còn lại được đánh số từ \(2\) đến \(n\). Toàn bộ \(n\) người sẽ lần lượt bước lên phao chuối và ngồi vào một vị trí nào đó, quy trình chọn vị trí ngồi của nhóm người như sau:
Có thể thấy, sau cú lật thuyền xưa kia, ngay cả những bạn sinh ra từ biển cũng còn rén, luôn chọn cho mình chỗ an toàn nhất và phải bên cạnh một người để có thể ôm chặt khi thuyền chao đảo. Lấy ví dụ, giả sử phao chuối có \(n = 7\) vị trí ngồi với dãy biểu diễn độ an toàn của các vị trí là \((7, 2, 5, 1, 4, 6, 3)\) và vị trí ưa thích của GSPVH là \(f = 3\). Khi đó, mọi người sẽ lựa chọn chỗ ngồi như sau:
_ _ _ _ _ _ _
_ _ 1 _ _ _ _
_ _ 1 2 _ _ _
_ 3 1 2 _ _ _
_ 3 1 2 4 _ _
_ 3 1 2 4 5 _
_ 3 1 2 4 5 6
7 3 1 2 4 5 6
Tuy nhiên, cuộc sống không ngừng biến đổi đi lên, và phao chuối cũng ngày càng được cải tiến. Gần đây, GSPVH phát hiện nhiều công trình khoa học đã ra đời nhằm nâng cấp độ an toàn của các vị trí ngồi trên phao chuối. Mỗi công trình nghiên cứu được biểu diễn bởi hai con số \(k\) và \(c\) \((1 \leq k, c \leq n)\) với ý nghĩa: vị trí ngồi thứ \(k\) được nâng cấp và giờ trở thành vị trí có độ an toàn thứ \(c\). Lưu ý rằng ở mọi thời điểm, sau mọi sự nâng cấp, độ an toàn của các vị trí ngồi luôn đôi một phân biệt. Cụ thể, giả sử \(p_{1}, p_{2}, \ldots, p_{n}\) là hoán vị biểu diễn độ an toàn của các vị trí ngồi trước sự nâng cấp, cách xác định hoán vị \(p'_{1}, p'_{2}, \ldots, p'_{n}\) biểu diễn độ an toàn của các vị trí ngồi sau sự nâng cấp như sau:
Đặt \(o = p_{k}\). Chú ý rằng, do vị trí ngồi thứ k được nâng cấp nên chắc chắn vị trí này có độ an toàn cao hơn trước. Vì vậy, dữ liệu vào luôn đảm bảo \(c < o\).
\(p'_{k} = c\)
Việc có quá nhiều cải tiến khoa học về phao chuối khiến cho GSPVH rất khó quản lý độ an toàn của các vị trí ngồi, vì vậy GSPVH muốn nhờ bạn viết chương trình xử lý \(q\) sự kiện, mỗi sự kiện thuộc một trong hai dạng sau:
U
\(k\) \(c\): Có công trình khoa học nâng cao độ an toàn của vị trí thứ \(k\) lên mức \(c\) (như định nghĩa ở trên)G
\(x\): Cho biết với độ an toàn của các vị trí như ở thời điểm hiện tại, ai sẽ ngồi vào vị trí thứ \(x\), biết rằng GSPVH cùng những học sinh đi cùng vẫn chọn chỗ ngồi theo chiến lược ở trên.Các bạn hãy giúp GSPVH nhé.
U
\(k\) \(c\) \((1 \leq k, c \leq n)\) mô tả một sự cải tiến độ an toàn. Dữ liệu vào đảm bảo nếu \(p_{1}, p_{2}, \ldots, p_{n}\) là hoán vị biểu diễn độ an toàn của n vị trí trước thao tác này, \(c < p_{k}\).G
\(x\) \((1 \leq x \leq n)\) yêu cầu tìm người sẽ ngồi vào vị trí thứ \(x\).G
\(x\), in ra một số nguyên trên một dòng thể hiện kết quả.U
\(k\) \(c\).U
\(k\) \(c\) đều xuất hiện trước mọi thao tác dạng G
\(x\).U
\(k\) \(c\) đều thoả mãn \(c \leq 11\).Test 1
1
7 15 3
7 2 5 1 4 6 3
G 1
G 2
G 3
G 4
G 5
G 6
G 7
U 1 4
G 1
G 2
G 4
U 5 2
G 5
G 6
G 7
7
3
1
2
4
5
6
4
3
2
3
6
7
Ban đầu, khi dãy biểu diễn độ an toàn của các vị trí là \((7, 2, 5, 1, 4, 6, 3)\), những người sẽ ngồi vào các vị trí là \((7, 3, 1, 2, 4, 5, 6)\) (ví dụ này đã trình bày ở trên).
Sau thao tác U
\(1\) \(4\), dãy biểu diễn độ an toàn của các vị trí trở thành \((4, 2, 6, 1, 5, 7, 3)\), những người sẽ ngồi vào các vị trí là \((4, 3, 1, 2, 5, 6, 7)\).
Sau thao tác U
\(5\) \(2\), dãy biểu diễn độ an toàn của các vị trí trở thành \((5, 3, 6, 1, 2, 7, 4)\), những người sẽ ngồi vào các vị trí là \((5, 4, 1, 2, 3, 6, 7)\).