hpcode dừng hoạt động từ 23h59 ngày 10/06/2026.

ĐỒ THỊ

Cho đồ thị gồm \(n\) đỉnh đánh số từ \(1\) đến \(n,\) đỉnh thứ \(i\) có màu \(c_{i}.\) Người ta thêm lần lượt \(m\) cạnh vô hướng vào đồ thị, cạnh thứ \(j\) nối hai đỉnh \(u_{j},v_{j}.\)

Yêu cầu: Sau mỗi bước thêm cạnh, đếm số cặp đỉnh \((i,j)\) cùng màu mà từ \(i\) có thể đến \(j\) qua các cạnh của đồ thị \((i < j).\)

Dữ liệu vào:

+ Dòng đầu chứa hai số nguyên dương \(n,m(n \leq 10^{5},m \leq {2.10}^{5});\)

+ Dòng thứ hai chứa \(n\) số nguyên dương \(c_{1},c_{2},\ldots,c_{n}\ \left( c_{i} \leq 10^{9} \right);\)

+ \(m\) dòng tiếp, dòng thứ \(j\) chứa hai số nguyên dương \(u_{j},v_{j}.\)

Kết quả:

Gồm \(m\) dòng, mỗi dòng là số cặp \((i,j)\) cùng màu mà từ \(i\) có thể đến được \(j\) qua cách cạnh của đồ thị.

Ví dụ:

Input Output
4 4
1 2 1 2
1 2
3 4
1 3
2 3
0
0
2
2

Bạn cần đăng nhập để nộp bài

hpcode.edu.vn
Code tích cực
Trong 24h
  1. thanhhoai (2/8)
  2. giahungfc24 (1/4)
  3. justawave (0/1)
Trong 7 ngày
  1. baolam_gl_500 (7/14)
  2. justawave (4/22)
  3. quanbao (3/5)
Trong 30 ngày
  1. manhquan (34/87)
  2. cosu (31/68)
  3. justawave (20/77)
Thống kê
AC/Sub: 120817/226949
Pascal: 18142
C++: 157988
Python: 50747
Lượt xem/tải tests: 43145

Lưu Hải Phong - 2020
[email protected]