The inversion number of a given number sequence a1, a2, ..., an is the number of pairs (ai, aj) that satisfy i < j and ai > aj. 



For a given sequence of numbers a1, a2, ..., an, if we move the first m >= 0 numbers to the end of the seqence, we will obtain another sequence. There are totally n such sequences as the following: 



a1, a2, ..., an-1, an (where m = 0 - the initial seqence) 

a2, a3, ..., an, a1 (where m = 1) 

a3, a4, ..., an, a1, a2 (where m = 2) 

... 

an, a1, a2, ..., an-1 (where m = n-1) 



You are asked to write a program to find the minimum inversion number out of the above sequences. 
Input
The input consists of a number of test cases. Each case consists of two lines: the first line contains a positive integer n (n <= 5000); the next line contains a permutation of the n integers from 0 to n-1. 
Output
For each case, output the minimum inversion number on a single line. 
Sample Input
10
1 3 6 9 0 8 5 7 4 2
Sample Output
16

逆序数,就是你比人家小,结果还在人家后边。。。可以用线段树或树状数组求,每一次出现一个数,设为a,就求一次a到n之间的和,也就是比a大却先比a出现的数字个数,然后把a的位置标记为一,其余几次的逆序数可以直接推导出来,设第一次移动的数为a,把它移动到后面理论上会减少a个逆序数(注意从0开始),但是还会有n-1-a个数大于a,所以sum+=n-1-2*a;

线段树:

zkw线段树:

最新文章

  1. input框focus时的美化效果
  2. Shell脚本检测文件夹是否已被挂载的方法
  3. Java 对象序列化(Serialization Object)
  4. The model backing the &lt;Database&gt; context has changed since the database was created.
  5. 对于Mybatis在C#.Net中个人使用的总结(一) Mybatis 的结果映射
  6. zookeeper监控告警
  7. Dictionary&lt;实体,List&lt;实体&gt;&gt;的比较
  8. NET程序的破解--静态分析(Xenocode Fox 2006 Evaluation)
  9. C++类的常成员函数
  10. Shuttle ESB 实践
  11. CAS在Java类中的应用
  12. Linux 系统化学习系列文章总目录(持续更新中)
  13. wifi扫描
  14. mobilebone与weiui_example.css 使用问题
  15. XUnit测试框架-Python unittest
  16. Django 的认识,面试题
  17. 获得最近一天的提交,并使用winscp上传到服务器
  18. 将Web项目War包部署到Tomcat服务器基本步骤
  19. 集合框架-ArrayList,Vector,Linkedlist
  20. 真实分享记录我学习Linux系统遇到的问题

热门文章

  1. 【NOIP2013模拟】归途与征程
  2. Spring IOC 实现方式
  3. JSP页面与html页面在ie下显示的样式不一致的问题
  4. telnet ip 端口
  5. ExoPlayer + 边缓存边播放
  6. BZOJ 5129: [Lydsy1712月赛]树上传送 点分树+Dijkstra
  7. Leetcode 3. Longest Substring Without Repeating Characters(string 用法 水题)
  8. Linux一些最基础操作
  9. 把Vim改装成一个IDE编程环境
  10. MySQL主从复制 报错处理