昔我往矣 杨柳依依

Description

1.给出N,随机 n ∈ [ 1 , n ] n∈[1,n] n[1,n],随机生成n的一个排列。

2对于这个序列统计其逆序对数量。

3.再随机这个序列的一个子序列。

4.如果子序列长度为0,则结束。否则转2。

求期望逆序对数量

Solution

由于每次选取的是原序列的一个子序列,所以每次一个数有1/2的几率被保留/删除

考虑一对逆序对的贡献,首先它在原序列中存在的概率是1/2,考虑这对逆序对期望贡献多少。当这对逆序对中的任何一个数被删除,这对逆序对都将被破坏,那么每一次有3/4的概率将这对逆序对破坏(考虑仅第一个数保留,仅第二个数保留,都不保留),那么期望4/3次后这对逆序对被破坏,即期望贡献4/3。

f i f_i fi为原序列长度为i时的期望贡献,则。
a n s = 1 n ∑ i = 1 n f i f i = 1 2 i ∗ ( i − 1 ) 2 ∗ 4 3 = i ∗ ( i − 1 ) 3 a n s = 1 3 ∗ n ∑ i = 1 n i ∗ i − i = ( n + 1 ) ∗ ( 2 n + 1 ) 18 − ( 1 + n ) 6 = n 2 − 1 9 ans=\frac{1}{n}\sum_{i=1}^nf_i\\f_i=\frac{1}{2}\frac{i\ast(i-1)}{2}\ast\frac{4}{3}=\frac{i\ast(i-1)}{3}\\ans=\frac{1}{3\ast n}\sum_{i=1}^ni\ast i-i=\frac{(n+1)\ast(2n+1)}{18}-\frac {(1+n)}{6}=\frac{n^2-1}{9}\\ ans=n1i=1nfifi=212i(i1)34=3i(i1)ans=3n1i=1niii=18(n+1)(2n+1)6(1+n)=9n21

评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值