Tổng GCD Trên Đường Đi Tổ Tiên
Nộp bài giải
Điểm:
7,00 (OI)
Giới hạn thời gian:
4.0s
Giới hạn bộ nhớ:
256M
Đầu vào:
stdin
Đầu ra:
stdout
Dạng bài
Ngôn ngữ cho phép
Ada, Algol, Assembly, Awk, C, C#, C++, D, Dart, Forth, Fortran, Go, Groovy, Java, Javascript, Kotlin, Lisp, Lua, Nim, ObjC, Pascal, Perl, PHP, Pike, Python, Racket, Ruby, Rust, Scheme, Scratch, Sed, TCL, Typescript, V, Zig
Cho một cây có gốc gồm đỉnh, gốc tại đỉnh . Mỗi đỉnh có một giá trị là số nguyên không âm không vượt quá .
Đỉnh được gọi là tổ tiên của đỉnh nếu nằm trên đường đi ngắn nhất từ gốc tới (mỗi đỉnh cũng được coi là tổ tiên của chính nó).
Với cặp mà là tổ tiên của , giả sử các đỉnh trên đường đi từ tới là . Định nghĩa
Đặc biệt , và quy ước , kể cả .
Yêu cầu: tính
Dữ liệu vào
- Dòng đầu chứa số nguyên .
- Dòng thứ hai chứa số nguyên .
- dòng tiếp theo, mỗi dòng chứa hai số nguyên mô tả một cạnh nối hai đỉnh và của cây.
Dữ liệu ra
In ra một số nguyên duy nhất là tổng cần tính, lấy theo modulo .
Ràng buộc
- ,
- Đồ thị cho trước là một cây liên thông.
Ví dụ
| Input | Output | Giải thích |
|---|---|---|
| 5 4 5 6 0 8 1 2 1 3 1 4 4 5 |
42 | Có cặp tổ tiên–con cháu (tính cả ). Ví dụ . Tổng các bằng . |
| 7 0 2 3 0 0 0 0 1 2 1 3 2 4 2 5 3 6 3 7 |
30 | Vì nên các đường đi từ gốc lan toả giá trị khác xuống các con cháu. Tổng cuối cùng bằng . |
Bình luận