听说你会求逆序对??(自创的脑洞题)

今天脑洞有点大,出个题玩一下,希望各位开心!

题意:给出1~n的一组排列,求所有区间逆序对个数的和

Input:

第1行输入n(1<=n<=100000)

第2行输入n个整数a[i](1<=a[i]<=n),且各不相同

Output:

输出一行,所有区间逆序对个数的和,答案太大要求对1e9+7取模

限时:1000ms    限内存:64000kB

Sample Input_1:

5

5 1 2 3 4

Sample Output_1:

10

Sample Input_2:

5

1 2 3 4 5

Sample Output_2:

0

Sample Input_3:

5

5 4 3 2 1

Sample Output_3:

35


题意已经很明显了,这里还是解释下样例一吧:

逆序对:if(a[i]>a[j]&&i<j)即为一对逆序对

区间(1,2)逆序对个数为1,区间(1,3)逆序对个数为2,区间(1,4)逆序对个数为3,区间(1,5)逆序对个数为4,其余区间逆序对个数都为0。

所以答案:1+2+3+4=10;

这是本人自创的第4道题,觉得这题还有点意思,遂与君分享,哈哈。

本人写了一个O(n*logn),有更优方案的请联系我,有赏!

想要输入输出数据,或想要题解代码,或想要分享代码,或想要探讨解题思路,请下方留言或联系本人qq:1942410374,非常欢迎!!

  • 1
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 1
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值