QOJ.ac

QOJ

时间限制: 15 s 内存限制: 1024 MB 总分: 10

#8407. Nhóm hoán vị [A]

统计

Trong bài toán này, chúng ta sẽ làm việc với các hoán vị $n$ phần tử. Mỗi hoán vị như vậy là một dãy gồm $n$ số tự nhiên khác nhau từ $1$ đến $n$. Hợp thành của hoán vị $a_1, a_2, \dots, a_n$ với hoán vị $b_1, b_2, \dots, b_n$ là hoán vị $a_{b_1}, a_{b_2}, \dots, a_{b_n}$. Nghịch đảo trong hoán vị $p_1, p_2, \dots, p_n$ là bất kỳ cặp chỉ số $(i, j)$ nào sao cho $i < j$ và $p_i > p_j$.

Bajtek là một người hâm mộ cuồng nhiệt các hoán vị $n$ phần tử. Anh ấy yêu thích chúng đến mức có $k$ hoán vị yêu thích. Anh quyết định liệt kê trên giấy tất cả các hoán vị có thể thu được bằng cách hợp thành các hoán vị yêu thích của mình (theo bất kỳ thứ tự nào và có thể sử dụng một số hoán vị nhiều lần), đồng thời cẩn thận đảm bảo không viết lại bất kỳ hoán vị nào quá một lần.

Không có gì ngạc nhiên khi anh ấy nhanh chóng hết giấy. Bajtek nảy ra câu hỏi: nếu anh ấy liệt kê tất cả các hoán vị có thể đạt được, thì trung bình chúng có bao nhiêu nghịch đảo?

Hãy giúp anh ấy viết một chương trình tính giá trị này. Cụ thể, nhiệm vụ của bạn là đưa ra giá trị cần tìm modulo $10^9 + 7$ (xem thêm chi tiết trong phần Dữ liệu ra).

Dữ liệu vào

Dòng đầu tiên của dữ liệu vào chứa hai số nguyên $n$ và $k$ ($1 \le n, k \le 3000$), lần lượt biểu thị độ dài của hoán vị và số lượng hoán vị yêu thích của Bajtek.

Trong $k$ dòng tiếp theo là các hoán vị đó. Dòng thứ $i$ trong số các dòng này chứa một dãy gồm $n$ số nguyên khác nhau $a_{i,1}, a_{i,2}, \dots, a_{i,n}$ ($1 \le a_{i,j} \le n$), tương ứng với hoán vị yêu thích thứ $i$ của Bajtek.

Dữ liệu ra

Dòng duy nhất của dữ liệu ra phải chứa một số nguyên bằng số nghịch đảo trung bình trong tất cả các hoán vị mà Bajtek có thể liệt kê, được tính modulo $1\,000\,000\,007$.

Về mặt hình thức, giả sử kết quả là $\frac{p}{q}$, trong đó $q \neq 0$ và $\text{NWD}(p, q) = 1$. Khi đó, bạn cần in ra một số $p \cdot q^{-1} \pmod{1\,000\,000\,007}$, trong đó $q^{-1}$ là số duy nhất thuộc tập hợp $1, 2, \dots, 1\,000\,000\,006$ sao cho $q \cdot q^{-1} \equiv 1 \pmod{1\,000\,000\,007}$.

Có thể chứng minh rằng đối với tất cả các bộ dữ liệu kiểm thử thỏa mãn điều kiện bài toán, kết quả là một số hữu tỉ mà mẫu số ở dạng tối giản không chia hết cho $1\,000\,000\,007$.

Ví dụ

Ví dụ 1

Dữ liệu vào:

3 1
2 3 1

Dữ liệu ra:

333333337

Ví dụ 2

Dữ liệu vào:

5 2
2 1 3 4 5
2 3 4 5 1

Dữ liệu ra:

5

Ghi chú

Giải thích ví dụ: Trong bộ dữ liệu kiểm thử đầu tiên, Bajtek sẽ liệt kê hoán vị $\{1, 2, 3\}$ có 0 nghịch đảo, $\{2, 3, 1\}$ có 2 nghịch đảo, và $\{3, 1, 2\}$ cũng có 2 nghịch đảo. Số nghịch đảo trung bình là $\frac{4}{3}$. Ta có $3^{-1} \equiv 333333336 \pmod{1\,000\,000\,007}$, do đó $333333336 \cdot 4 \equiv 1333333344 \equiv 333333337 \pmod{1\,000\,000\,007}$.

Trong bộ dữ liệu kiểm thử thứ hai, Bajtek sẽ liệt kê tất cả các hoán vị 5 phần tử. Dễ dàng chứng minh rằng trung bình chúng có đúng 5 nghịch đảo.

Discussions

About Discussions

The discussion section is only for posting: General Discussions (problem-solving strategies, alternative approaches), and Off-topic conversations.

This is NOT for reporting issues! If you want to report bugs or errors, please use the Issues section below.

Open Discussions 0
No discussions in this category.

Issues

About Issues

If you find any issues with the problem (statement, scoring, time/memory limits, test cases, etc.), you may submit an issue here. A problem moderator will review your issue.

Guidelines:

  1. This is not a place to publish discussions, editorials, or requests to debug your code. Issues are only visible to you and problem moderators.
  2. Do not submit duplicated issues.
  3. Issues must be filed in English or Chinese only.
Active Issues 0
No issues in this category.
Closed/Resolved Issues 0
No issues in this category.