Xử lí bit cơ bản

View as PDF

Submit solution


Points: 400.00 (partial)
Time limit: 1.0s
Memory limit: 512M
Input: stdin
Output: stdout

Authors:
Problem source:
swishy's kichen
Problem type
Allowed languages
C++ (Themis), Pascal, Python

Cho một đồ thị liên thông có số cạnh nhỏ hơn số đỉnh, đỉnh thứ x có độ tuyệt vời là một số nguyên không âm Ax.

Định nghĩa độ tuyệt vời của một đường đi là tổng xor (Định nghĩa của XOR) của độ tuyệt vời của tất cả các đỉnh trên đường đi đó. Độ tuyệt vời của cặp đỉnh (u,v)tích của độ tuyệt vời của tất cả các đường đi đơn từ u đến v. Vì đồ thị là liên thông, nên luôn tồn tại ít nhất một con đường giữa cặp đỉnh (u,v). Ta cũng có thể dễ dàng chứng minh được rằng có hữu hạn đường đi đơn giữa một cặp đỉnh bất kì, nên độ tuyệt vời của một cặp đỉnh (u,v) luôn tính được.

Độ tuyệt vời của một đồ thị chính là độ tuyệt vời lớn nhất của một cặp đỉnh bất kì.

Tính độ tuyệt vời của đồ thị nêu trên, cũng như số lượng cặp (u,v) (uv) có độ tuyệt vời đúng bằng độ tuyệt vời của đồ thị.

Ví dụ

Screenshot-2024-01-14-112304

Cho đồ thị có N=3, M=3, A=[1,2,4] và các cạnh nối như hình minh họa trên.

  • Cặp (1,1): Có một đường đi đơn từ 1 tới 1 là chính đỉnh 1. Vậy độ tuyệt vời của cặp (1,1) là: 1.

  • Cặp (2,2): Có một đường đi đơn từ 2 tới 2 là chính đỉnh 2. Vậy độ tuyệt vời của cặp (2,2) là: 2.

  • Cặp (3,3): Có một đường đi đơn từ 3 tới 3 là chính đỉnh 3. Vậy độ tuyệt vời của cặp (3,3) là: 4.

  • Cặp (1,2): Có hai đường đi đơn từ 1 tới 212132. Vậy độ tuyệt vời của cặp (1,2) là: (A1A2)×(A1A3A2)=21.

  • Cặp (1,3): Có hai đường đi đơn từ 1 tới 313123. Vậy độ tuyệt vời của cặp (1,3) là: (A1A3)×(A1A2A3)=35.

  • Cặp (2,3): Có hai đường đi đơn từ 2 tới 323213. Vậy độ tuyệt vời của cặp (2,3) là: (A2A3)×(A2A1A3)=42.

Như vậy, độ tuyệt vời của đồ thị là 42, và có một cặp có có độ tuyệt vời bằng 42(2,3).

Input

  • Dòng đầu tiên nhập vào hai số nguyên không âm N,M (M,N105), là số đỉnh và số cạnh của đồ thị.
  • Dòng thứ hai gồm N số nguyên không âm A1,A2,...,AN (0Ai230).
  • M dòng tiếp theo, dòng thứ i nhập vào hai số nguyên dương ui, vi, cho biết có một cạnh nối giữa hai đỉnh ui, vi (1ui,viN).
  • Dữ liệu đầu vào đảm bảo các cạnh nhập vào sẽ tạo thành một đồ thị liên thông.

Output

  • In ra kết quả của bài toán trên

Sample Input

Copy
5 4
10 0 15 2 6
1 2
2 3
2 4
3 5

Sample Output

Copy
15 2

Giải thích test mẫu:

Screenshot-2024-01-14-114110

Hình minh họa cho test ví dụ ở phần Sample Input.

Hai cặp (2,3)(3,3) có độ tuyệt vời là 15. Đây cũng chính là độ tuyệt vời của đồ thị.

Scoring

Subtask Điểm Giới hạn
1 10% N,M10
2 20% N,M104
3 10% N,M105Ai1,1iN
4 30% N,M105Ai<32,1iN
5 30% Không ràng buộc gì thêm

Comments

Please read the guidelines before commenting.


There are no comments at the moment.