Description
1.给出N,随机
n∈[1,n],随机生成n的一个排列。
2对于这个序列统计其逆序对数量。
3.再随机这个序列的一个子序列。
4.如果子序列长度为0,则结束。否则转2。
求期望逆序对数量
Solution
由于每次选取的是原序列的一个子序列,所以每次一个数有1/2的几率被保留/删除
考虑一对逆序对的贡献,首先它在原序列中存在的概率是1/2,考虑这对逆序对期望贡献多少。当这对逆序对中的任何一个数被删除,这对逆序对都将被破坏,那么每一次有3/4的概率将这对逆序对破坏(考虑仅第一个数保留,仅第二个数保留,都不保留),那么期望4/3次后这对逆序对被破坏,即期望贡献4/3。
设
fi为原序列长度为i时的期望贡献,则。
ans=n1i=1∑nfifi=212i∗(i−1)∗34=3i∗(i−1)ans=3∗n1i=1∑ni∗i−i=18(n+1)∗(2n+1)−6(1+n)=9n2−1