F.A.Q
Hand In Hand
Online Acmers
Problem Archive
Realtime Judge Status
Authors Ranklist
 
     C/C++/Java Exams     
ACM Steps
Go to Job
Contest LiveCast
ICPC@China
Best Coder beta
VIP | STD Contests
    DIY | Web-DIY beta
Author ID 
Password 
 Register new ID

Random Inversion Machine

Time Limit: 2000/1000 MS (Java/Others)    Memory Limit: 65536/65536 K (Java/Others)
Total Submission(s): 81    Accepted Submission(s): 17


Problem Description
Teacher Mai has a game machine, which has $n$ slots in a row, numbered from $1$ to $n$, inclusively. He plays a game with the machine for several rounds. In each round, he divides that row into $k$ segments with marks at boundaries between adjacent segments. Each segment must contain a positive number of slots. Then, the machine generates a random permutation of $\{1, 2, \cdots , n\}$ and displays the permutation on the slots.Finally, the machine calculates the inversion number of each segment and multiplies them together to get the score of the round. The inversion number of a sequence is the number of inversions (also called inversion pairs) in the sequence.

Teacher Mai can play the game for as many rounds as he wants, but he must use different partitions in different rounds. Two partitions are considered to be different if there is a mark somewhere in one partition but not in the other. The total game score is simply the sum of the score of each round. However, the machine has been intruded by a malware, which changes the permutation before the machine calculates the score of each round. It sorts the numbers in the $m$ specific slots with numbers $p_1,p_2,\cdots,p_m$.

For example, if $n=4,k=1,m=2,p=\{1,3\}$ and the permutation generated is $(2,4,1,3)$. The malware will pick numbers $2$ and $1$ and sort them, changing the permutation into $(1,4,2,3)$. So Teacher Mai will get a score of $2$ (pairs $(4,2)$ and $(4,3)$) in this round. Teacher Mai wants to know the maximum expected game score he can get.
 

Input
There are multiple test cases.

For each test case, the first line contains three numbers $n,k,m(1\leq k,m\leq n\leq 100)$.

The second line contains $m$ numbers $p_1,p_2,\cdots,p_m(1\leq p_1<p_2<\cdots<p_m\leq n)$.

In the $i$-th test case, $n=10i$.
 

Output
As the answer for the problem can be very large, please calculate it as an irreducible fraction $A/B$ and output $(A*B^{-1})$ mod $(10^9 + 7)$ for each test case in a separate line. Here, $B^{-1}$ is the multiplicative inverse of $B$ modulo $10^9 + 7$. The input constraints guarantee that $B$ and $10^9 + 7$ are coprime, so this expression is properly defined.
 

Sample Input
6 2 3 1 4 5 10 3 4 2 6 7 9
 

Sample Output
225000005 608333402
 

Author
xudyh
 

Source
 

Statistic | Submit | Discuss | Note
Hangzhou Dianzi University Online Judge 3.0
Copyright © 2005-2024 HDU ACM Team. All Rights Reserved.
Designer & Developer : Wang Rongtao LinLe GaoJie GanLu
Total 0.000000(s) query 1, Server time : 2024-11-21 18:42:38, Gzip enabled