hdu 1394 线段树之四
来源:互联网 发布:俄航中转莫斯科 知乎 编辑:程序博客网 时间:2024/05/20 11:49
求逆序对:一开始不会。。。。开了题解,wa了几次。
View Code
Problem : 1394 ( Minimum Inversion Number ) Judge Status : Accepted
RunId : 11292057 Language : G++ Author : lihaozhuzhuxia
Code Render Status : Rendered By HDOJ G++ Code Render Version 0.01 Beta
RunId : 11292057 Language : G++ Author : lihaozhuzhuxia
Code Render Status : Rendered By HDOJ G++ Code Render Version 0.01 Beta
#include <cstdio>#include <iostream>#include <cstring>using namespace std;struct p{ int r; int l; int sum;}tree[22222];void construct(int n,int l,int r){ tree[n].l=l; tree[n].r=r; tree[n].sum=0; if(l==r) return; int mid=(tree[n].l+tree[n].r)/2; construct(n*2,l,mid); construct(n*2+1,mid+1,r);}void change(int n,int k){ int mid=(tree[n].l+tree[n].r)/2; tree[n].sum++; if(tree[n].l==tree[n].r) return; if(k<=mid) { change(n*2,k); } else { change(n*2+1,k); }}int query(int n,int l,int r){ int mid=(tree[n].r+tree[n].l)/2; if(tree[n].l==l&&tree[n].r==r) return tree[n].sum; if(r<=mid) { return query(n*2,l,r); } else if(l>mid) { return query(n*2+1,l,r); } else { return query(n*2,l,mid)+query(n*2+1,mid+1,r); }}int a[5555];int main(){ int i,j,k,l,m,n; while(scanf("%d",&n)==1) { construct(1,0,n-1); int sum=0; for(i=0;i<n;i++) { scanf("%d",&a[i]); sum+=query(1,a[i],n-1); change(1,a[i]); } int ret=sum; for(i=0;i<n;i++) { sum=sum-a[i]+n-a[i]-1; ret=min(ret,sum); } printf("%d\n",ret); } return 0;}
0 0
- hdu 1394 线段树之四
- 线段树之(四) hdu 1166敌兵布阵
- HDU 1394(线段树)
- HDU 1394 线段树
- hdu 1394(线段树)
- HDU 1394 线段树
- hdu 1394 线段树
- hdu 1394线段树
- hdu 1394 线段树
- HDU 1394 线段树
- HDU 1394 线段树
- hdu 1394 线段树
- HDU 1394 线段树
- HDU 1394 线段树
- HDU 1394 线段树
- HDU 4578 线段树的四种操作
- hdu 1754 线段树之二
- hdu 1698 线段树之三
- Tomcat配置详解(一)
- 【模拟】【环形数组】-UVA-133- The Dole Queue |java实现
- 个人FPGA学习心得
- android 常用布局LinearLayout以及RelativeLayout介绍
- JavaScript模块化开发
- hdu 1394 线段树之四
- Codeforces Round #259 (Div. 2) problemsA Little Pony and Crystal Mine
- OpenGLES demo - 14. 阴影贴图 Shadow Map 之平行光
- 考研日记--8.1 未来呀未来
- 关于字符编码,你所需要知道的
- 搜:搜索内容,返回百度的结果 20140801 ①文本处理
- ubuntu重启,dns修改为默认值的禁止
- 黑马程序员_银行业务调度系统
- AIDL(1)