杭电Sort it 2689树状数组

原创 2015年11月21日 13:56:03

Sort it

Time Limit: 2000/1000 MS (Java/Others)    Memory Limit: 32768/32768 K (Java/Others)
Total Submission(s): 3510    Accepted Submission(s): 2546


Problem Description
You want to processe a sequence of n distinct integers by swapping two adjacent sequence elements until the sequence is sorted in ascending order. Then how many times it need.
For example, 1 2 3 5 4, we only need one operation : swap 5 and 4.
 

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 <= 1000); the next line contains a permutation of the n integers from 1 to n.
 

Output
For each case, output the minimum times need to sort it in ascending order on a single line.
 

Sample Input
3 1 2 3 4 4 3 2 1
 

Sample Output
0 6
//虽然是水题,但是对于初学者来说很想通,自己好好推理推理
#include <iostream> #include <cstring> using namespace std; const int maxn=1010; int C[maxn],n; int lowbit(int x) {     return x&(-x); } void update(int i) {     while(i<=n)     {         C[i]+=1;         i+=lowbit(i);     } } int query(int i) {     int sum=0;     while(i>0)     {         sum+=C[i];         i-=lowbit(i);     }     return sum; } int main() {     while(cin>>n)     {         int sum=0;         memset(C,0,sizeof(C));         for(int i=1;i<=n;i++)         {             int a;            cin>>a;             update(a);             sum+=i-query(a);//得出比i大的的元素个数,即要交换的次数         }     cout<<sum<<endl;     }     return 0; }
 
版权声明:本文为博主原创文章,未经博主允许不得转载。

杭电 线段树 (个人整理(基础入门版))(多题练习.)(简单风格)

整理了很多杭电上边的题.也从其他很多博客那里学会了新的东西,一时兴起 整理出来留给大家. 首先介绍一下自己的线段树风格: int tree[](树) #define lson l,m,r...
  • mengxiang000000
  • mengxiang000000
  • 2015年12月04日 13:33
  • 1194

2017年IT行业就业形势小分析

CSDN:http://blog.csdn.net/csdn_terence 最近在斗鱼上看了杨中科直播,手痒整理了笔记,忍不住写了个博博,贴出来,自勉,看到的人共勉!   Atte...
  • qq_33326449
  • qq_33326449
  • 2016年11月16日 17:29
  • 3407

杭电acm题目分类 非常详细

按此做成就大神之路:   1002 简单的大数 1003 DP经典问题,最大连续子段和 1004 简单题 1005 找规律(循环点) 1006 感觉有点BT的题,我到现在还没过 1007...
  • lsgqjh
  • lsgqjh
  • 2015年03月13日 17:49
  • 8102

HDU 2689 Sort it(树状数组)(类似逆序数,同样不需要离散化)

Problem Description You want to processe a sequence of n distinct integers by swapping two adjacent ...
  • a_ppler
  • a_ppler
  • 2013年08月21日 13:43
  • 600

HDU2689 Sort it(树状数组求逆序数)

传送门:http://acm.hdu.edu.cn/showproblem.php?pid=2689 代码如下:#include #include #include #define maxn 1...
  • H_Fighter
  • H_Fighter
  • 2017年04月09日 09:40
  • 112

hdu 2689 sort it (树状数组 逆序数)

题目:点击打开链接 树状数组处理逆序对,自底向下存的是出现次数。 Sort it Problem Description You want to processe a ...
  • qq_33997572
  • qq_33997572
  • 2017年06月28日 10:27
  • 40

hdu 2689 sort it(树状数组 逆序数)

树状数组求逆序数,原来一直没搞明白,今天看了一遍文章讲的很清楚,下面把有关内容粘过来: 对于小数据,可以直接插入树状数组,对于大数据,则需要离散化,所谓离散化,就是将 100 200 300 ...
  • Griffin_0
  • Griffin_0
  • 2015年12月06日 00:03
  • 216

HDU2689 Sort it (树状数组|水题)

题目链接:http://acm.hdu.edu.cn/showproblem.php?pid=2689 题意很好理解,在这里就不再赘述。 第一种解法:数据量较小,水过~ AC代码如下: ...
  • i1020
  • i1020
  • 2017年07月27日 20:23
  • 71

hdu 2689 Sort it 一维树状数组的应用

Sort it Time Limit: 2000/1000 MS (Java/Others)    Memory Limit: 32768/32768 K (Java/Others) Total ...
  • ruangongshi
  • ruangongshi
  • 2015年08月10日 21:37
  • 224

树状数组讲解与例题 杭电HDU1166,HDU1556,HDU2689

树状数组的总结 树状数组很巧妙地解决了数列的求和与查找,速度很快。树状数组,它改变数列中某一位,或者求某个区间的和,时间复杂度是O(logN);效率大为改善。 下面的图片很好的演示了树状数组的存储原理...
  • winter2121
  • winter2121
  • 2017年04月12日 20:32
  • 170
内容举报
返回顶部
收藏助手
不良信息举报
您举报文章:杭电Sort it 2689树状数组
举报原因:
原因补充:

(最多只允许输入30个字)