HDU 2689 Sort it 树状数组
来源:互联网 发布:高德导航软件 编辑:程序博客网 时间:2024/06/07 07:45
Sort it
Time Limit: 2000/1000 MS (Java/Others) Memory Limit: 32768/32768 K (Java/Others)Total Submission(s): 4740 Accepted Submission(s): 3297
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.
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
31 2 34 4 3 2 1
Sample Output
06
Author
WhereIsHeroFrom
Source
ZJFC 2009-3 Programming Contest
Recommend
yifenfei | We have carefully selected several similar problems for you: 1892 2688 3584 2492 2227
在这里简单说一下,这里也是利用下标的那个思想,这个数出现过赋值为1,就那个意思,自己理解下,和普通相比的区别就是这个求前面有多少个数省事
ac代码:
#include <stdio.h> #include <cmath>#include <cstring>#include <queue>#include <algorithm>#define ll long long using namespace std;const int maxn=1e6+5;int n;int tree[maxn];int a;void add(int k,int num){while(k<maxn){tree[k]+=num;k+=k&-k;}}int read(int k){int sum=0;while(k > 0){sum+=tree[k];k-=k&-k;}return sum;}int main(){while(~scanf("%d",&n)){int ans=0;memset(tree,0,sizeof(tree));for(int i=1;i<=n;i++){scanf("%d",&a);add(a,1);ans+=i-read(a);}printf("%d\n",ans);}return 0;}
阅读全文
1 0
- HDU 2689 Sort it (树状数组)
- HDU 2689 Sort it [树状数组]【数据结构】
- hdu 2689 Sort it(树状数组)
- HDU 2689 Sort it 树状数组
- 【树状数组+简单题】杭电 hdu 2689 Sort it
- HDU 2689 Sort it 求逆序数,树状数组实现
- hdu 2689 Sort it 一维树状数组的应用
- HDU 2689 Sort it(树状数组求逆序数)
- hdu 2689 sort it(树状数组 逆序数)
- HDU 2689 Sort it(树状数组,逆序数)
- HDU 2689 Sort it 简单树状数组入门
- hdu 2689 sort it (树状数组 逆序数)
- 杭电Sort it 2689树状数组
- nyoj- 117 求逆序数 && hdu-sort it----> 树状数组
- hdu2689 Sort it (树状数组)
- hdu2689 Sort it (树状数组)
- Sort It (树状数组+dp)
- HDU 2689 Sort it(树状数组)(类似逆序数,同样不需要离散化)
- 暑假第四天总结
- js 其他对象
- 二级指针做输入的3种模型-2
- MFC 单文档应用程序如何为状态栏添加进度条
- Linux -bash: java: command not found 解决方法
- HDU 2689 Sort it 树状数组
- 【PAT】【Advanced Level】1039. Course List for Student (25)
- 【算法基础】算法导论-最大子数组问题
- Docker 编排利器-Compose简介
- 2017多校第4场 HDU 6069 Counting Divisors 素筛,暴力,优化
- java静态代码块 构造代码块 构造方法的执行顺序及注意问题
- 二叉树
- Python日常学习记录
- 装饰器