[DHBB25 - DX07 - 11] Bài 2: Đếm dãy

Xem dạng PDF

Gửi bài giải

Điểm: 45,00 (OI)
Giới hạn thời gian: 1.0s
Giới hạn bộ nhớ: 1G

Dạng bài
Ngôn ngữ cho phép
C, C++, Java, Output Only, Pascal, PyPy, Python, Scratch, TEXT

Trong trường hợp đề bài hiển thị không chính xác, bạn có thể tải đề bài tại đây: Đề bài

Một dãy số ~a_1, a_2, ..., a_m~ (~m \ge 1~) được gọi là dãy đẹp nếu:

  • ~a_1 < a_2 < ... < a_m~;
  • Định nghĩa dãy ~b~ như sau: ~b_1 = a_1~ và ~b_i = b_{i-1} \oplus a_i \forall 1 < i \le m~, trong đó ~ \oplus ~ là phép XOR; thì điều kiện ~b_1 < b_2 < ... < b_m~ phải được thỏa mãn.

Cho một cây gồm ~n~ đỉnh, các đỉnh được đánh số từ ~1~ đến ~n~, đỉnh thứ ~i~ có nhãn ~a_i~. Gọi ~P(u, v)~ là tập các cạnh trên đường đi đơn từ ~u~ đến ~v~ trên cây.

Một hành trình hợp lệ trên cây có thể được biểu diễn bằng dãy đỉnh ~x_1, x_2, ..., x_k~ (~k \ge 1~) thỏa mãn điều kiện:

  • ~1 \le x_i \le n, \forall 1 \le i \le k~ và các đỉnh ~x_i~ đôi một phân biệt;
  • Các tập cạnh ~P(x_1, x_2), P(x_2, x_3), ..., P(x_{k-1}, x_k)~ đôi một không giao nhau;
  • Dãy ~a_{x_1}, a_{x_2}, ..., a_{x_k}~ là dãy đẹp.

Yêu cầu: Hãy đếm số hành trình hợp lệ trên cây đã cho.

Input

  • Dòng đầu tiên gồm số nguyên dương ~n~ (~1 \le n \le 2 \times 10^5~) là số đỉnh của cây.
  • Dòng thứ hai gồm ~n~ số nguyên dương ~a_1, a_2, ..., a_n~ (~1 \le a_i \le 10^9~) biểu diễn nhãn của các đỉnh.
  • ~n-1~ dòng tiếp theo, mỗi dòng gồm hai số nguyên ~u, v~ (~1 \le u, v \le n~) biểu diễn một cạnh của cây.

Output

  • Gồm một số nguyên duy nhất là số hành trình hợp lệ trên cây đã cho. Vì kết quả có thể rất lớn nên chỉ cần đưa ra phần dư khi chia kết quả cho ~10^9 + 7~.

Sample Input 1

3
1 2 3
1 2
2 3

Sample Output 1

5

Giải thích

Các hành trình hợp lệ là:

  1. 1;
  2. 2;
  3. 3;
  4. 1, 2;
  5. 1, 3.

Subtasks

Subtask Điểm Ràng buộc
1 ~0.91~ ~n \le 19~.
2 ~1.26~ ~n \le 300~.
3 ~1.4~ ~n \le 5000~.
4 ~1.68~ Mỗi đỉnh có cạnh nối trực tiếp tới tối đa ~2~ đỉnh khác.
5 ~1.75~ Không có ràng buộc gì thêm.

Bình luận

Hãy đọc nội quy trước khi bình luận.


Không có bình luận tại thời điểm này.