USACO 2021 - Dance Mooves
Xem PDFNhững chú bò của Farmer John đang biểu diễn các bước nhảy mới!
Ban đầu, cả \(N\) con bò (\(2\le N\le 10^5\)) đứng thành một hàng, với bò \(i\) ở vị trí thứ \(i\). Chuỗi động tác gồm \(K\) cặp vị trí (\(1\le K\le 2\cdot10^5\)): \((a_1,b_1),(a_2,b_2),\ldots,(a_K,b_K)\). Ở phút thứ \(i=1\ldots K\), hai con bò đang đứng tại vị trí \(a_i\) và \(b_i\) đổi chỗ.
Cùng \(K\) lần đổi chỗ này lại diễn ra trong các phút \(K+1\ldots2K\), rồi \(2K+1\ldots3K\), và tiếp tục lặp theo chu kỳ mãi mãi. Nói cách khác:
- Phút \(1\): bò tại \(a_1\) và \(b_1\) đổi chỗ.
- Phút \(2\): bò tại \(a_2\) và \(b_2\) đổi chỗ.
- \(\ldots\)
- Phút \(K\): bò tại \(a_K\) và \(b_K\) đổi chỗ.
- Phút \(K+1\): bò tại \(a_1\) và \(b_1\) đổi chỗ.
- Phút \(K+2\): bò tại \(a_2\) và \(b_2\) đổi chỗ.
- Và cứ tiếp tục như vậy.
Với mỗi con bò, hãy xác định số vị trí phân biệt trong hàng mà nó từng đứng.
Dữ liệu vào
Dòng đầu tiên chứa \(N\) và \(K\). Mỗi dòng thứ \(i\) trong \(K\) dòng tiếp theo chứa \(a_i\) và \(b_i\) (\(1\le a_i<b_i\le N\)).
Dữ liệu ra
In \(N\) dòng, dòng thứ \(i\) chứa số vị trí phân biệt mà bò \(i\) từng đến.
Phân nhóm
- Các test 1-5 thỏa mãn \(N\le 100\), \(K\le 200\).
- Các test 6-10 thỏa mãn \(N\le 2000\), \(K\le 4000\).
- Các test 11-20 không có ràng buộc bổ sung.
Ví dụ
Ví dụ 1
Input
5 4
1 3
1 2
2 3
2 4
Output
4
4
3
4
1
Giải thích
Bò \(1\) đến các vị trí \(\{1,2,3,4\}\). Bò \(2\) đến các vị trí \(\{1,2,3,4\}\). Bò \(3\) đến các vị trí \(\{1,2,3\}\). Bò \(4\) đến các vị trí \(\{1,2,3,4\}\). Bò \(5\) không bao giờ di chuyển nên luôn ở vị trí \(5\).
Nguồn
USACO 2021 January Contest, Silver - Dance Mooves: https://usaco.org/index.php?page=viewproblem2&cpid=1086
Tác giả: Chris Zhang.
Kỳ thi:
- USACO 2021 - Tháng 1 - Hạng Bạc (1 Tháng 1., 2021)
Bình luận