#5444. Chợ xương rồng (MARKETCAC)

Bộ nhớ: 512 MiB Thời gian: 1000 ms Nhập/xuất từ luồng chuẩn
Kiểu bài: Thông thường Kiểu chấm: So sánh văn bản
Đưa lên bởi: Trùm CUỐI

Đề bài

Miền Tây sông nước nổi tiếng với hệ thống kênh rạch chằng chịt và những khu chợ nổi sầm uất tạo thành hệ thống chợ xương rồng. Cụ thể, tại đây có n khu chợ nổi (được đánh số từ 1 đến n ) và m đoạn kênh rạch kết nối các chợ này. Hệ thống kênh rạch này có đặc điểm rất đặc biệt: mỗi đoạn kênh chỉ thuộc tối đa một chu trình đơn. Cấu trúc này tạo thành một hệ thống mà ta gọi là chợ xương rồng.

Mỗi đoạn kênh rạch này có thể giao thương đi lại theo cả hai chiều, tuy nhiên nó chỉ hoạt động đến thời điểm nước thủy triều rút xuống. Cụ thể, danh sách m đoạn kênh rạch được liệt kê theo thứ tự thời gian thủy triều rút xuống: Đoạn kênh rạch thứ i sẽ kết nối hai chợ a_i , b_i , và thủy triều rút tại thời điểm t = i .

Với hai chợ u, v , ta nói từ u kịp thời đến được v nếu tồn tại một cách đi từ chợ u đến chợ v qua các đoạn kênh rạch mà đoạn kệnh rạch sau có thời điểm thủy triều rút sau đoạn kênh rạch trước.

Yêu cầu: Với mỗi khu chợ u (từ 1 đến n ), hãy đếm xem có bao nhiêu khu chợ v khác mà từ u có thể kịp thời đến được v .

Dữ liệu:

  • Dòng đầu tiên chứa hai số nguyên n, m ( 1 \leq n, m \leq 5 \times 10^5 ) là số lượng khu chợ nổi và số lượng đoạn kênh rạch.

  • m dòng tiếp theo mô tả các đoạn kênh rạch theo thứ tự thời điểm thủy triều rút. Dòng thứ i chứa hai số nguyên a_i, b_i ( 1 \leq a_i, b_i \leq n, a_i \neq b_i ) cho biết đoạn kênh rạch thứ i nối giữa chợ a_i b_i . Đảm bảo hệ thống kênh rạch nối các chợ là liên thông, không có đoạn kênh rạnh nào nối một chợ với chính nó, giữa hai khu chợ bất kỳ có tối đa một đoạn kênh rạnh nối trực tiếp, và cấu trúc mạng lưới thỏa mãn tính chất "xương rồng".

Kết quả: In ra n số nguyên trên một dòng. Số thứ u là số lượng khu chợ v mà từ u có thể kịp thời đến được v .

Ví dụ:

Dữ liệu:

3 3
1 2
2 3
3 1

Kết quả:

2 2 2

Minh họa ví dụ 1

Dữ liệu:

5 4
1 2
2 3
3 4
4 5

Kết quả:

4 4 3 2 1

Minh họa ví dụ 2

Giới hạn:

  • Subtask #1: 20\% số điểm có n \le 20, m \le 50 ;

  • Subtask #2: 20\% số điểm khác có n \le 2000 ;

  • Subtask #3: 20\% số điểm khác có m = n - 1 ;

  • Subtask #4: 20\% số điểm khác có m = n và đồ thị là một vòng tròn đơn;

  • Subtask #5: 20\% số điểm còn lại không có ràng buộc bổ sung.