题库练习 Inversions problem
← 上一题 下一题 →

A9845 | Inversions problem

时间限制1s
内存限制256MB
通过 / 提交0/0

题目描述

You are given a permutation of $n$ numbers $p_{1},p_{2},...,p_{n}$ . We perform $k$ operations of the following type: choose uniformly at random two indices $l$ and $r$ ( $l<=r$ ) and reverse the order of the elements $p_{l},p_{l+1},...,p_{r}$ . Your task is to find the expected value of the number of inversions in the resulting permutation.

输入格式

The first line of input contains two integers $n$ and $k$ ( $1<=n<=100$ , $1<=k<=10^{9}$ ). The next line contains $n$ integers $p_{1},p_{2},...,p_{n}$ — the given permutation. All $p_{i}$ are different and in range from 1 to $n$ .

The problem consists of three subproblems. The subproblems have different constraints on the input. You will get some score for the correct submission of the subproblem. The description of the subproblems follows.

- In subproblem G1 ( $3$ points), the constraints $1<=n<=6$ , $1<=k<=4$ will hold.
- In subproblem G2 ( $5$ points), the constraints $1<=n<=30$ , $1<=k<=200$ will hold.
- In subproblem G3 ( $16$ points), the constraints $1<=n<=100$ , $1<=k<=10^{9}$ will hold.

输出格式

Output the answer with absolute or relative error no more than $1e-9$ .

输入输出样例

输入 #1
3 1
1 2 3
输出 #1
0.833333333333333
输入 #2
3 4
1 3 2
输出 #2
1.458333333333334
C++ 编辑器
输入
输出