斜率小于0的连线数量 51Nod
来源:互联网 发布:为什么服务器用centos 编辑:程序博客网 时间:2024/05/29 13:42
第2 - N + 1行:N个点的坐标,坐标为整数。(0 <= X
42 33 41 54 6
2
运用树状数组和逆序数比较容易想到
一道关于树状数组和逆序数的题跟这个很像——
Ultra-QuickSort
在求逆序数时2 3 2 4这种情况没问题 但是2 4 2 3 就要判断一下
还有个问题是离散化
原来用的方法不适用于有重复元素的 这个是新找到的~~~~~~~
#include <iostream>
#include<cstdio>
#include<algorithm>
#include<cstring>
#include<vector>
#include <bits/stdc++.h>
using namespace std;
const int maxn=50010;
int c[maxn];
int x[maxn],data[maxn];
int n;
struct node
{
int x,y;
}a[maxn];
int cmp1(node a,node b)
{
return a.x<b.x;
}
int lowbit(int i)
{
return i&(-i);
}
int update(int i,int x)
{
while(i<=maxn)
{
c[i]=c[i]+x;
i=i+lowbit(i);
}
}
int query(int i)
{
int sum=0;
while(i>0)
{
sum+=c[i];
i=i-lowbit(i);
}
return sum;
}
void prepare() {
int i;
for(int i=1;i<=n;i++)
data[i]=a[i].y;
sort(data+1,data+n+1);
int m=unique(data+1,data+n+1)-data-1;
for(int i=1;i<=n;i++) a[i].y=lower_bound(data+1,data+m+1,a[i].y)-data;
}
int main()
{
while(cin>>n)
{
memset(c,0,sizeof(c));
memset(b,0,sizeof(b));
for(int i=1;i<=n;i++)
{
scanf("%d%d",&a[i].x,&a[i].y);
}
prepare();
sort(a+1,a+n+1,cmp1);
long long sum=0;
for(int i=1;i<=n;i++)
{
update(a[i].y,1);
sum+=i-query(a[i].y);
if(a[i-1].x==a[i].x&&i!=1&&a[i-1].y>a[i].y)
sum--;
}
cout<<sum<<endl;
}
return 0;
}
- 51nod 1107 斜率小于0的连线数量
- 斜率小于0的连线数量 51Nod
- 51nod 1107 斜率小于0的连线数量
- 斜率小于0的连线数量 51NOD
- 51 nod 1107 斜率小于0的连线数量
- 51Nod 1107 斜率小于0的连线数量
- 51nod 1107 斜率小于0的连线的数量 (逆序数)
- 51nod 1107 斜率小于0的连线数量 (树状数组+离线化)
- 51nod-1107 斜率小于0的连线数量(逆序数+离散化)
- 51Nod-1107-斜率小于0的连线数量
- 51nod oj 1107 斜率小于0的连线数量 【类逆序数】
- 51NOD 1107 斜率小于0的连线数量 坐标离散化+树状数组
- 51nod-斜率小于0的连线数量(树状数组+离散化)
- 51nod 1107 斜率小于0的连线数量(逆序数)
- 51nod 1107 斜率小于0的连线数量 树状数组
- 1107 斜率小于0的连线数量
- 斜率小于0的连线数量-归并排序
- 1107 斜率小于0的连线数量 求逆序对
- 杭电problem1005-Number Sequence
- vim 查找多个文件, 替换
- 百练_2856:计算邮资
- Docker应用示例1--使用Docker创建Web服务
- CentOS 7.0 使用iptables
- 斜率小于0的连线数量 51Nod
- spark HA 模式搭建 (详细配置)《转载》
- maven web 项目部署到tomcat 下面无web.xml文件
- 07.25.17 2017年多校联合训练第1场
- Codevs1380没有上司的舞会_KEY
- hdu1714RedField 椭圆扇形面积公式
- Android生成二维码与识别二维码(ZXing)
- 工作第四周了,比急忙,好久没总结啦
- 风险预警·如何预防开发问题流到生产