洛谷P1908逆序对(离散化+树状数组)
来源:互联网 发布:今日头条 招聘 java 编辑:程序博客网 时间:2024/05/16 09:17
题目来源:http://www.luogu.org/problem/show?pid=1908
搞来搞去,还是SYZOJ自带代码框最好用
#include<cstdio>#include<iostream>#include<algorithm>#include<cstring>using namespace std;const int maxn=40000+10;int n,c[maxn];struct data{ long long v; int ii;}a[maxn];inline int lowbit(int x){return x&-x;}inline int cmp1(data a,data b){ return a.v<b.v;}inline int cmp2(data a,data b){ return a.ii<b.ii;}inline void add(int x,int d){ while(x<=n){ c[x]+=d;x+=lowbit(x); }}inline int sum(int x){ int ret=0; while(x>0){ ret+=c[x];x-=lowbit(x); } return ret;}int main(){ ios::sync_with_stdio(false); cin>>n; long long ans=0; for(int i=1;i<=n;i++){ cin>>a[i].v; a[i].ii=i; } sort(a+1,a+1+n,cmp1); for(int i=1;i<=n;i++){ a[i].v=i; } sort(a+1,a+1+n,cmp2); for(int i=n;i>=1;i--){ add(a[i].v,1); ans+=sum(a[i].v-1); } cout<<ans; return(0);}
1 0
- 洛谷P1908逆序对(离散化+树状数组)
- 洛谷P1908 逆序对(树状数组)
- 树状数组+离散化求逆序对
- [离散化+树状数组]逆序对
- 树状数组求逆序对(要离散化)
- 1020(树状数组,逆序对+离散化)
- 洛谷 P1908 逆序对
- 洛谷 P1908 逆序对
- 洛谷 P1908 逆序对
- 洛谷p1908逆序对
- 【洛谷】P1908逆序对
- 【求逆序对】CODE[VS] 3286 火柴排队 (树状数组离散化求逆序对)
- 树状数组+离散化 《求逆序数对》
- POJ 2299 <离散化+树状数组求逆序数对>
- [NOIP2013] 火柴排队 离散化 树状数组 逆序对
- 【codevs4163】 hzwer与逆序对(树状数组+离散化)
- 树状数组求逆序对及离散化
- |洛谷|分治|P1908 逆序对
- ra-02391:exceeded simultaneous sessions_per_user limit
- 前序遍历,中序遍历和后序遍历 & 已知两种遍历,求第三种遍历
- linux 下安装anaconda
- 条件变量和原子型式
- 0 1 背包
- 洛谷P1908逆序对(离散化+树状数组)
- 第十周项目一 阅读下面的定义,请说出在测试函数中不同情况的调用产生的结果(5 b)
- 第九周项目41-存储班长信息的学生类
- PLSQL Developer连接64位oracle
- java序列化问题
- Web前端初步——Javascript(0)
- 6.PHP中的运算符
- linux上安装配置vsftpd
- MySQL java.sql.SQLException: Incorrect string value: '\xF0\x9F\xA4\x97' for column