逆序数的神题。。。。

居然是逆序数

居然用逆序数过的

提示。。。按照X从小到大排列,之后统计Y的逆序数。。。

之后,得到的答案就是传说中的解(斜率小于零)

#include<bits/stdc++.h>
using namespace std; const long long MAXN = ;
pair<long long,long long> arr[MAXN]; bool com(pair<long long,long long>p1,
pair<long long,long long>p2)
{
if(p1.first==p2.first)return p1.second<p2.second;
return p1.first<p2.first;
}
long long tree[MAXN];
long long arr1[MAXN];
void insert(int pos,int key=)
{
while(pos<MAXN)
{
tree[pos]+=key;
pos+=pos&(-pos);
}
}
long long getSum(int pos)
{
long long ret=;
while(pos>)
{
ret+=tree[pos];
pos-=pos&(-pos); }return ret;
}
map<long long ,long long> m1; int main()
{
cin.sync_with_stdio(false);
long long n;cin>>n;
for(int i=;i<n;++i)
{
cin>>arr[i].first>>arr[i].second;
arr1[i]=arr[i].second;
// cout<<m1[arr[i].second]<<endl;
}
sort(arr1,arr1+n);
for(int i=;i<n;++i)if(!m1.count(arr1[i]))m1[arr1[i]]=m1.size()+;
sort(arr,arr+n,com); //long long ret=0; long long ret=(n-)*(n)/;
for(int i=;i<n;++i)
{
// cout<<arr[i].first<<ends<<arr[i].second<<ends;
ret-=getSum(m1[arr[i].second]);//cout<<ret<<endl;
insert(m1[arr[i].second]);
}
cout<<ret<<endl;
return ;
}

我们大家都很绝望,但是有的人比我们更加绝望。

51nod 1107 斜率小于零连线数量 特调逆序数的更多相关文章

  1. 51Nod - 1107 斜率小于0的连线数量

    二维平面上N个点之间共有C(n,2)条连线.求这C(n,2)条线中斜率小于0的线的数量. 二维平面上的一个点,根据对应的X Y坐标可以表示为(X,Y).例如:(2,3) (3,4) (1,5) (4, ...

  2. 51NOD——N 1107 斜率小于0的连线数量

    https://www.51nod.com/onlineJudge/questionCode.html#!problemId=1107 基准时间限制:1 秒 空间限制:131072 KB 分值: 40 ...

  3. 51 Nod 1107 斜率小于0的连线数量 (转换为归并求逆序数或者直接树状数组,超级详细题解!!!)

    1107 斜率小于0的连线数量 基准时间限制:1 秒 空间限制:131072 KB 分值: 40 难度:4级算法题   二维平面上N个点之间共有C(n,2)条连线.求这C(n,2)条线中斜率小于0的线 ...

  4. 51nod 1376 最长递增子序列的数量(线段树)

    51nod 1376 最长递增子序列的数量 数组A包含N个整数(可能包含相同的值).设S为A的子序列且S中的元素是递增的,则S为A的递增子序列.如果S的长度是所有递增子序列中最长的,则称S为A的最长递 ...

  5. 51nod 1376 最长上升子序列的数量 | DP | vector怒刷存在感!

    51nod 1376 最长上升子序列的数量 题解 我们设lis[i]为以位置i结尾的最长上升子序列长度,dp[i]为以位置i结尾的最长上升子序列数量. 显然,dp[i]要从前面的一些位置(设为位置j) ...

  6. 字节跳动笔试题:1. 小于N的质数数量;2. 逆时针二维数组;3. 判断a+b>c

    1. 小于N的质数数量 import java.util.Scanner; /** * 计算小于N的质数数量 * @author Turing * */ public class Main4 { pu ...

  7. 51nod 1019 逆序数(逆序数+离散化)

    在一个排列中,如果一对数的前后位置与大小顺序相反,即前面的数大于后面的数,那么它们就称为一个逆序.一个排列中逆序的总数就称为这个排列的逆序数.   如2 4 3 1中,2 1,4 3,4 1,3 1是 ...

  8. 51Nod P1100 斜率最大

    传送门: https://www.51nod.com/onlineJudge/questionCode.html#!problemId=1100 由于2 <= N <= 10000, 所以 ...

  9. 51Nod 1376 最长递增子序列的数量 (DP+BIT)

    题意:略. 析:dp[i] 表示以第 i 个数结尾的LIS的长度和数量,状态方程很好转移,先说长度 dp[i] = max { dp[j] + 1 | a[i] > a[j] && ...

随机推荐

  1. Photoshop之切图

    基本(繁琐)操作: 切JPG图(即带背景的图): 1.         选切片工具(另外,切片选择工具能选择切片和删除切片),切 2.         存储为Web所用格式(快捷键Ctrl + Shi ...

  2. Caused by: java.lang.NoSuchMethodError: org.objectweb.asm.ClassWriter.<init>(I)V

    项目中各种缺包现象... Caused by: java.lang.NoSuchMethodError: org.objectweb.asm.ClassWriter.<init>(I)V ...

  3. Cypress测试工具

    参考博客:  https://testerhome.com/articles/19035 最近一段时间学习了cypress的测试工具, 她是一个端到端的测试web工具. 环境准备 1.工具:vs co ...

  4. IP地址与数字地址相互转换

    /// <summary> /// IP地址转换成数字 /// </summary> /// <param name="addr">IP地址&l ...

  5. SAP成都研究院非典型程序猿,菜园子小哥:当我用UI5诊断工具时我用些什么

    身边有些年轻同事曾经向我表达过这种困扰:尽管完成日常工作没有任何问题,但是还想更进一步,把代码写得更好些,做到精益求精.现在写的代码能实现功能,但是不知道可以怎样写得更好. 除了阅读优秀的开源库开源框 ...

  6. cesium 加载shp格式的白模建筑

    ceisum加载shp格式的建筑.有两种思路,目前推荐第二种. 方法一:将shp格式转换为geojson格式,然后采用cesium提供的接口加载到ceisum中. 严重缺陷:在面对大场景问题,即数据量 ...

  7. 配置Maven镜像与本地缓存

    IntelliJ IDEA 安装后自带Maven,也可以使用自己安装的Maven. 配置阿里镜像与本地仓库文件夹 找到Maven的安装目录 打开settings.xml配置文件   修改mirrors ...

  8. NSAutoreleasePool & thread

    https://developer.apple.com/documentation/foundation/nsautoreleasepool An object that supports Cocoa ...

  9. PMP(第六版)中的沟通方法总结与对比

  10. java设计模式——单例模式(一)

    一. 定义与类型 定义:保证一个类仅有一个实例,并提供一个全局访问点 类型:创建型 二. 适用场景 想确保任何情况下都绝对只用一个实例 三. 优缺点 优点: 在内存里只有一个实例,减少了内存开销 可以 ...