Xây dựng rừng
Đề bài
Mô tả
Một rừng có hướng có trọng số là một đồ thị có hướng không chu trình, có trọng số, trong đó từ mỗi đỉnh có nhiều nhất một cung đi ra.
Gốc của đỉnh , ký hiệu , là đỉnh không có cung đi ra và có thể đến được từ bằng cách di chuyển dọc theo các cung. Độ sâu của đỉnh , ký hiệu , là tổng trọng số các cung trên đường đi từ đến gốc của nó.
Ta xây dựng rừng bằng thao tác thêm đỉnh, thực hiện lần lượt. Thao tác thứ được mô tả bởi bộ số và có nghĩa: thêm đỉnh số cùng cung vào đồ thị, trong đó cung thứ đi từ đỉnh đến đỉnh với trọng số (các giá trị và được tính tại thời điểm thêm cung đó). Nếu thì chỉ thêm đỉnh , không thêm cung nào.
Hãy tính tổng trọng số tất cả các cung của rừng thu được sau khi thực hiện toàn bộ thao tác, theo modulo .
Dữ liệu vào
- Dòng đầu chứa số nguyên : số thao tác thêm đỉnh.
- dòng tiếp theo, dòng thứ mô tả thao tác thêm đỉnh : bắt đầu là số nguyên (), sau đó là số nguyên .
Các thao tác được cho theo đúng thứ tự áp dụng. Dữ liệu đảm bảo việc thêm đỉnh không tạo ra khuyên (cung nối một đỉnh với chính nó) hay cung bội.
Dữ liệu ra
In ra một số nguyên duy nhất: tổng trọng số tất cả các cung của đồ thị cuối cùng, theo modulo .
Ràng buộc
- ,
- Tổng các giá trị của tất cả thao tác không vượt quá
Ví dụ
| Input | Output | Giải thích |
|---|---|---|
| 5 0 1 1 5 0 0 2 3 1 4 3 |
9 | Đỉnh 2: cung trọng số . Đỉnh 5: cung trọng số và cung trọng số . Tổng: . |
| 6 0 0 1 2 1 2 1 5 2 2 1 1 2 1 3 4 |
30 | Đỉnh 3: cung trọng số . Đỉnh 4: cung trọng số và cung trọng số . Đỉnh 5: cung trọng số . Đỉnh 6: cung trọng số . Tổng: . |
Bình luận