#54. Tính tổng khoảng cách (Mã bài: ROAD)

Bộ nhớ: 256 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

Đất nước ABC có N thành phố và N-1 con đường nối thành một cây liên thông.
Với mỗi thành phố i , tính tổng khoảng cách từ i đến các thành phố j sao cho \gcd(i, j) > 1 .

Dữ liệu:

  • Dòng đầu: số nguyên N (1 \le N \le 10^5) .
  • N-1 dòng tiếp theo: mỗi dòng gồm u, v, w — đường nối giữa thành phố u v với độ dài w ( w \le 10^9 ).

Kết quả: Ghi ra N dòng, dòng thứ i là tổng khoảng cách từ thành phố i đến các thành phố j thỏa mãn \gcd(i, j) > 1 .

Ví dụ:

Dữ liệu:

6
1 2 3
2 3 4
3 4 5
4 5 6
5 6 7

Kết quả:

0
31
18
22
0
53

Giới hạn:

  • Subtask #1: 30% số điểm với N \le 1000 .
  • Subtask #2: 30% số điểm với cây là đường thẳng.
  • Subtask #3: 40% số điểm còn lại không có ràng buộc thêm.