Chọn Đội tuyển HSGQG TPHCM 2025 - Phù thủy
Xem dạng PDFỞ vương quốc nọ có rất nhiều phù thủy, họ sở hữu một số phép thuật trong số ~M~ loại phép thuật. Các loại phép thuật được đánh số từ ~1~ đến ~M~. Đức vua đã triệu tập ~N~ phù thủy. Các phù thủy xếp thành một hàng ngang, được đánh số từ ~1~ đến ~N~ từ trái sang phải. Phù thủy thứ ~i~ sở hữu ~k_i~ loại phép thuật đó là ~a_{i,1}, a_{i,2}, \dots, a_{i,k_i}~.
Đức vua cần chọn các nhóm phù thủy đi bảo vệ vương quốc. Một nguyên tắc ghép nhóm phù thủy là nếu có hai phù thủy sở hữu cùng một loại phép thuật thì khi sử dụng, chúng sẽ triệt tiêu lẫn nhau. Tuy nhiên nếu có phù thủy thứ ba cũng sở hữu loại phép thuật đó thì nó vẫn có thể sử dụng bình thường. Nói cách khác, để một loại phép thuật hoạt động ở một nhóm phù thủy, số phù thủy trong nhóm sở hữu nó phải là một số lẻ. Ví dụ, ba phù thủy có tập các loại phép thuật là ~\{1, 2, 5\}~, ~\{1, 3, 5\}~ và ~\{2, 4, 5\}~ thì khi ghép nhóm sẽ có tập các loại phép thuật có thể sử dụng là ~\{3, 4, 5\}~.
Do chưa biết phải chọn các phù thủy nào đi thực hiện nhiệm vụ nên đức vua muốn thực hiện ~Q~ yêu cầu thuộc một trong hai dạng:
Thay đổi phù thủy: Cho số nguyên ~i~ và mô tả của một phù thủy mới. Đức vua yêu cầu phù thủy mới này thế chỗ của phù thủy đang đứng ở vị trí ~i~;
Thử ghép nhóm: Cho hai số nguyên ~L, R~. Đức vua muốn thử chọn nhóm cho tất cả phù thủy có chỉ số trong đoạn ~[L; R]~ thực hiện nhiệm vụ. Sau đó, họ sẽ được tách ra thành các nhóm gồm các phù thủy có chỉ số liên tiếp sao cho tập các loại phép thuật tổng hợp của mọi nhóm chứa đủ ~M~ loại phép thuật.
Lưu ý: để tách một đoạn ~[L; R]~ thành ~v~ nhóm gồm các phần tử có chỉ số liên tiếp, ta chọn một dãy số nguyên ~\delta_1, \delta_2, \dots, \delta_v~ sao cho ~L \le \delta_1 < \delta_2 < \dots < \delta_v = R~ và ~v \ge 1~. Khi đó, ta tách đoạn ~[L; R]~ thành ~v~ nhóm gồm các đoạn ~[L; \delta_1], [\delta_1+1; \delta_2], [\delta_2+1; \delta_3], \dots, [\delta_{v-1} + 1; \delta_v]~.
Yêu cầu: Hãy viết chương trình cho biết với mỗi yêu cầu loại 2, có thể chia nhóm (tối thiểu 1 nhóm) các phù thủy được chọn theo ý đức vua hay không. Nếu có, tìm số nhóm tối đa có thể chia.
Input
Vào từ file PHUTHUY.INP:
- Dòng đầu tiên chứa ba số nguyên ~N, M, Q~ cho biết số phù thủy được triệu tập, số loại phép thuật ở vương quốc và số lượng yêu cầu cần xử lý;
Trong ~N~ dòng tiếp theo, dòng thứ ~i~ được bắt đầu bởi số nguyên ~k_i~ (~0 \le k_i \le M~) là số phép thuật mà phù thủy thứ ~i~ sở hữu. Sau đó là ~k_i~ số nguyên ~a_{i,1}, a_{i,2}, \dots, a_{i,k_i}~ (~1 \le a_{i,1} < a_{i,2} < \dots < a_{i,k_i} \le M~) mô tả các loại phép thuật đó;
Trong ~Q~ dòng tiếp theo, dòng thứ ~j~ mô tả yêu cầu thứ ~j~, bắt đầu bằng một số ~t_j~ (với ~t_j \in \{1; 2\}~)
Nếu ~t_j = 1~, tiếp theo là hai số nguyên ~i_j, l_j~ (~0 \le l_j \le M~) cho biết vị trí cập nhật và số loại phép thuật của phù thủy mới. Sau đó là ~l_j~ số nguyên ~b_1, b_2, \dots, b_{l_j}~ (~1 \le b_1 < b_2 < \dots < b_{l_j} \le M~) mô tả các loại phép thuật đó.
Nếu ~t_j = 2~, tiếp theo là hai số nguyên ~L_j, R_j~ (~1 \le L_j \le R_j \le N~) mô tả một phép thử ghép nhóm trên các phù thủy có chỉ số ~L_j, L_j+1, \dots, R_j~.
Output
Ghi ra file PHUTHUY.INP:
- Với mỗi truy vấn loại 2, nếu không tồn tại cách chia nhóm thỏa mãn yêu cầu đề bài, in ra ~-1~. Ngược lại, in ra số nhóm tối đa có thể chia. Mỗi số nguyên được in trên một dòng riêng biệt.
Scoring
| Subtask | Điểm | Giới hạn |
|---|---|---|
| 1 | ~20\%~ | ~1 \le N \le 21, 1 \le M \le 2, Q = 1~ và truy vấn loại 2 có ~L_1=1, R_1=N~. |
| 2 | ~30\%~ | ~1 \le N \le 2000, 1 \le M \le 5, 1 \le Q \le 2 \times 10^5~. |
| 3 | ~20\%~ | ~1 \le N \le 10^5, 1 \le M \le 5, 1 \le Q \le 10^5~ và chỉ có truy vấn loại 2. |
| 4 | ~30\%~ | ~1 \le N \le 10^5, 1 \le M \le 5, 1 \le Q \le 10^5~ |
Sample Input 1
12 3 7
1 3
2 1 3
2 2 3
0
3 1 2 3
2 1 2
1 2
2 1 3
0
3 1 2 3
3 1 2 3
1 2
2 1 12
1 9 1 1
2 1 12
2 5 12
2 4 9
1 4 1 3
2 1 6
Sample Output 1
-1
3
2
-1
1
Notes
Với yêu cầu đầu tiên (được hỏi trên cả ~N~ phù thủy), không thể chia nhóm thỏa mãn yêu cầu đề bài, do đó, in ra ~-1~.
Với yêu cầu thứ ba (được hỏi trên cả ~N~ phù thủy), ta chia được tối đa ~3~ nhóm như sau:
Nhóm đầu tiên gồm các phù thủy từ vị trí ~1~ đến ~4~ có tập các loại phép thuật lần lượt là ~\{3\}, \{1,3\}, \{2,3\}, \emptyset~.
Nhóm thứ hai gồm đúng phù thủy thứ ~5~. Phù thủy này sở hữu cả ~3~ loại phép thuật.
Nhóm thứ ba gồm các phù thủy từ vị trí ~6~ đến ~12~ có tập các loại phép thuật lần lượt là ~\{1,2\}, \{2\}, \{1,3\}, \{1\}, \{1,2,3\}, \{1,2,3\}, \{2\}~.
Với yêu cầu thứ tư (được hỏi trên đoạn ~[5; 12]~), ta chia được tối đa ~2~ nhóm. Nhóm đầu tiên gồm phù thủy thứ ~5~; nhóm còn lại gồm các phù thủy từ vị trí ~6~ đến ~12~.
Với yêu cầu thứ năm: không thể chia nhóm thỏa mãn yêu cầu đề bài, do đó, in ra ~-1~.
Với yêu cầu thứ bảy: chia được tối đa một nhóm gồm các phù thủy từ vị trí ~1~ đến ~6~.

Bình luận
may thg ngu tui lin bo can tat