ĐỒ 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 ≤ 10^5, m ≤ 2.10^5) ~;
  • Dòng thứ hai chứa ~ n ~ số nguyên dương ~ c_1, c_2, …, c_n ~ ~ ( c_i ≤ 10^9 ) ~;
  • ~ 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 1

4 4 
1 2 1 2
1 2
3 4
1 3
2 3 

Output 1

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. giaan10anh2 (21/25)
  2. nguyenvuquang (9/15)
  3. sv_tranquocan (7/11)
Trong 7 ngày
  1. sv_tranquocan (64/139)
  2. quocchinh96bl (43/97)
  3. hanngocdat (43/85)
Trong 30 ngày
  1. huy_notcoding (192/304)
  2. ducchinh (184/249)
  3. hienpham (183/244)
Thống kê
AC/Sub: 97887/180710
Pascal: 17121
C++: 130348
Python: 33199
Lượt xem/tải tests: 37914

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