Độ Sâu Cây
Nộp bài giải
Điểm:
1,00 (OI)
Giới hạn thời gian:
4.0s
Python 3
5.0s
Giới hạn bộ nhớ:
256M
Đầu vào:
stdin
Đầu ra:
stdout
Tác giả:
Dạng bài
Ngôn ngữ cho phép
C++, Go, Java, Kotlin, Pascal, Python, Scratch
Cho một hoán vị của , ta xây dựng một cây BST như sau:
generate(l, r):
nếu l > r, trả về cây rỗng;
x = argmin_{l ≤ i ≤ r} a_i; // chỉ số của phần tử nhỏ nhất trong a_l..a_r
trả về BST với x là gốc,
generate(l, x-1) là cây con trái,
generate(x+1, r) là cây con phải;
Gọi là độ sâu của nút trong cây tương ứng với (số nút trên đường từ đến gốc). Số nghịch thế của là số cặp với và .
Biết rằng có đúng nghịch thế, hãy tính với mỗi , tổng lấy trên tất cả các hoán vị thỏa mãn điều kiện.
Dữ liệu vào
Một dòng duy nhất gồm ba số nguyên , , .
- là số nguyên tố,
Dữ liệu ra
In số nguyên cách nhau bởi dấu cách — giá trị với .
Ví dụ
| Input | Output | Giải thích |
|---|---|---|
| 3 0 192603497 | 1 2 3 | Hoán vị duy nhất là : BST có gốc 1, con phải 2, cháu phải 3. . |
| 3 1 144408983 | 3 4 4 | Hai hoán vị: cho ; cho . Tổng: . |
Bình luận