HDU 5775 (Bubble Sort 逆序数)
来源:互联网 发布:金融随机分析 知乎 编辑:程序博客网 时间:2024/05/24 04:27
题目链接
意思是告诉你一个冒泡排序,在整个排序的过程中问你每个数出现最左与最右的位置差
其实就是求每个数后面有几个比他小的,因为后面小的排序会移到他前面,用树状数组写一下就可以了
#include<cstdio>#include<algorithm>#include<iostream>#include<vector>#include<queue>#include<cstring>#include<bits/stdc++.h>#include<map>#include<string>#include<cstdlib>using namespace std;#define cl(a,b) memset(a,b,sizeof(a))#define LL long long#define pb push_back#define gcd __gcd#define For(i,j,k) for(int i=(j);i<k;i++)#define lowbit(i) (i&(-i))#define _(x) printf("%d\n",x)const int maxn = 1e6+200;const int inf = 1 << 28;struct BIT{ LL c[maxn],sz; void init(int s){ sz=s;for(int i=0;i<=sz;c[i]=0,i++); } void updata(int x,int val){ while(x<=sz){ c[x]+=val; x+=lowbit(x); } } LL sum(int x){ LL sum=0; while(x>0){ sum+=c[x]; x-=lowbit(x); } return sum; }}bit;int a[maxn];int ans[maxn];int main(){ int T;scanf("%d",&T); int cas = 1; while(T--){ int n;scanf("%d",&n); for(int i=1;i<=n;i++){ scanf("%d",&a[i]); } printf("Case #%d:",cas++); bit.init(n); for(int i=n;i>=1;i--){ bit.updata(a[i],1); int x = bit.sum(a[i])-1; int right = max(a[i],i+x); int left = min(a[i],i); int y=abs(left-right); ans[a[i]]=y; } for(int i=1;i<=n;i++)printf(" %d",ans[i]);puts(""); } return 0;}
0 0
- HDU 5775 (Bubble Sort 逆序数)
- HDU 5775 Bubble Sort(归并排序+逆序数)
- HDU 5775 Bubble Sort(逆序对)
- HDU 5775 Bubble Sort 树状数组求逆序数
- 【归并排序】【逆序数】HDU 5775 Bubble Sort
- poj3761 Bubble Sort(排列组合,逆序数,乘方取余)
- hdu5775 Bubble Sort(线段树求逆序数)
- Hdu-5775 Bubble Sort
- HDU 5775 Bubble Sort
- hdu 5775 Bubble Sort
- HDU 5775 Bubble Sort
- hdu 5775 Bubble sort
- HDU 5775 Bubble Sort
- hdu 5775 Bubble Sort
- 【HDU】5775 Bubble Sort
- HDU 5775 Bubble Sort
- 树状数组 ( 求逆序数 )——Bubble Sort ( HDU 5775 ) ( 2016 Multi-University Training Contest 4 1012 )
- HDU-5775-Bubble Sort(线段树)
- UITextField 点击事件 --- 不触发键盘弹出,而触发其他事件的实现
- JAVA全排列算法
- 搭建nginx反向代理用做内网域名转发
- 【OpenCV源码分析】core-Algorithm
- Android Material Design系列之夜间模式
- HDU 5775 (Bubble Sort 逆序数)
- Android 6.0+ 运行时权限探索
- java猜拳游戏
- Loadrunner Http协议web_submit_data与web_custom_request区别
- php 下载保存文件保存到本地的两种实现方法
- JsonUtils
- UVA 11624 <《经典bfs》迷宫逃亡之追击问题---火追人>
- type of machine learning
- scala与Java性能对比