LQDOJ Cup 2024 - Round #9 - Tổng đường kính

Xem PDF




Tác giả:
Dạng bài
Ngôn ngữ cho phép
Assembly, Awk, C, C#, C++, Clang, Cobol, D, Groovy, Haskell, JS, Java, Kotlin, Lua, Node JS, OCaml, ObjectiveC, Output, PHP, Pascal, Perl, Prolog, Pypy, Pypy 3, Python, Ruby, Rust, Scala, Scratch, Swift
Điểm: 2300 (p) Thời gian: 3.0s Bộ nhớ: 1G Input: DIAMETER.inp Output: DIAMETER.out

Cho một rừng cây gồm \(n\) đỉnh và \(m\) cạnh.

\(q\) câu hỏi có dạng \(x\) \(y\) mang ý nghĩa sau:

  • Gọi \(X\) là tập đỉnh thuộc thành phần liên thông chứa \(x\).
  • Gọi \(Y\) là tập đỉnh thuộc thành phần liên thông chứa \(y\).
  • \(|X| \times |Y|\) cách để thêm một cạnh vào cây sao cho \(x\)\(y\) thuộc cùng một thành phần liên thông. Chắc chắn thành phần liên thông mới được tạo ra là một cây.
  • Hãy tính tổng đường kính của cây được tạo ra trong \(|X| \times |Y|\) trường hợp đó.
  • Trong tình huống ngay từ đầu \(x\)\(y\) thuộc cùng một thành phần liên thông thì xem như đáp án bằng \(0\).
  • Lưu ý rằng các câu hỏi là các tình huống giả định và không thêm cạnh vào rừng.

Input

  • Dòng đầu tiên chứa ba số nguyên dương \(n, m\)\(q\) \((1 \leq n, m, q \leq 10^{6}; m \leq n - 1)\).
  • \(m\) dòng tiếp theo, mỗi dòng chứa hai số nguyên dương \(u\)\(v\) \((1 \leq u, v \leq n)\) thể hiện một cạnh của rừng.
  • \(q\) dòng tiếp theo, mỗi dòng chứa hai số nguyên dương \(x\)\(y\) \((1 \leq x, y \leq n)\) thể hiện một câu hỏi.

Output

  • Gồm \(q\) dòng, dòng thứ \(i\) chứa một số nguyên thể hiện kết quả của truy vấn thứ \(i\).

Scoring

  • Subtask \(1\) (\(15\%\) số điểm): \(n, m, q \leq 100\).
  • Subtask \(2\) (\(17\%\) số điểm): \(m = n - 1\).
  • Subtask \(3\) (\(20\%\) số điểm): \(m = n - 2\).
  • Subtask \(4\) (\(23\%\) số điểm): \(|u - v| \leq 1\).
  • Subtask \(5\) (\(25\%\) số điểm): không có giới hạn gì thêm.

Examples

Test 1

Input
6 2 4
3 4
4 2
4 2
4 1
2 5
1 6
Output
0
8
8
1
Note


Đây là đồ thị biểu diễn rừng đã cho. Trong giả định thứ hai, tổng đường kính là tổng của ba trường hợp: thêm cạnh \(1-4, 1-3, 1-2\). Nên đáp án là \(2 + 3 + 3 = 8\).

Bình luận

Mới nhất
Tải bình luận...

Không có bình luận nào.

Kỳ thi: