51nod 1107 斜率小于0的连线数量
来源:互联网 发布:unity3d unreal4 比较 编辑:程序博客网 时间:2024/05/21 17:56
将点按横坐标x排序,然后提取纵坐标y,求逆序数对即可。
#include <bits/stdc++.h>using namespace std;const int MAXN=50050;struct node{int x,y;}nod[MAXN];bool cmp(node n1,node n2){if(n1.x!=n2.x)return n1.x<n2.x;return n1.y<n2.y;}int a[MAXN];long long ans;void merge(int lef,int rig){if(lef==rig)return;if(lef==rig-1){if(a[lef]>a[rig])ans++;return;}int mid,i;mid=(lef+rig)>>1;merge(lef,mid);merge(mid+1,rig);sort(a+mid+1,a+rig+1);for(i=lef;i<=mid;i++)ans+=lower_bound(a+mid+1,a+rig+1,a[i])-(a+mid+1);}int main(){int i,n;while(cin>>n){for(i=0;i<n;i++)scanf("%d%d",&nod[i].x,&nod[i].y);sort(nod,nod+n,cmp);for(i=0;i<n;i++)a[i]=nod[i].y;ans=0;merge(0,n-1);printf("%lld\n",ans);}}
0 0
- 51nod 1107 斜率小于0的连线数量
- 51nod 1107 斜率小于0的连线数量
- 51 nod 1107 斜率小于0的连线数量
- 51Nod 1107 斜率小于0的连线数量
- 斜率小于0的连线数量 51Nod
- 斜率小于0的连线数量 51NOD
- 51nod 1107 斜率小于0的连线的数量 (逆序数)
- 51nod 1107 斜率小于0的连线数量 (树状数组+离线化)
- 51nod-1107 斜率小于0的连线数量(逆序数+离散化)
- 51Nod-1107-斜率小于0的连线数量
- 51nod oj 1107 斜率小于0的连线数量 【类逆序数】
- 51NOD 1107 斜率小于0的连线数量 坐标离散化+树状数组
- 51nod 1107 斜率小于0的连线数量(逆序数)
- 51nod 1107 斜率小于0的连线数量 树状数组
- 1107 斜率小于0的连线数量
- 51nod-斜率小于0的连线数量(树状数组+离散化)
- 1107 斜率小于0的连线数量 求逆序对
- 斜率小于0的连线数量-归并排序
- 程序员之路成长的三种境界
- python-django的form的使用
- nginx基于端口和ip配置
- spinner在simpleAdapter上与arrayAdapter的区别
- Mycat1.6使用show @@help 语法
- 51nod 1107 斜率小于0的连线数量
- ModelSim-win64-10.4-se 下载、安装、破解全攻略
- SpringBoot之添加单元测试
- 使用面向对象技术替代switch-case和if-else
- 永远不要批评、指责、抱怨别人
- Docker tf image on Win
- 关于Centos服务器上Oracle XE 远程访问设置
- 简单深度优先搜索
- Android中Http网络请求响应基本知识