博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
spoj 138
阅读量:5173 次
发布时间:2019-06-13

本文共 1143 字,大约阅读时间需要 3 分钟。

离散化  去掉重复点 排序  二分查找

#include
#include
#include
#define maxn 40005using namespace std;int pp[maxn][2];int x[2*maxn],f[2*maxn];int d[2*maxn];int main(){ int t; scanf("%d",&t); while (t--) { memset(f, 0 ,sizeof(0)); int n; scanf("%d",&n); for(int i= 0; i < n; i++) { scanf("%d%d",&pp[i][0],&pp[i][1]); x[i] = pp[i][0]; x[2*i+1] = pp[i][1]; } sort(x, x+2*n); d[0] = x[0]; int cc = 1; for(int i = 1; i < 2*n; i++) { if(x[i] != d[cc-1]) { d[cc++] = x[i]; } } for(int i = 0; i < n; i++) { int ri = lower_bound(d, d+cc, pp[i][0])-d; int le = lower_bound(d, d+cc, pp[i][1])-d; for(int j = ri; j <= le; j++) f[j] = i; } sort(f, f+cc); int ans = 1; for(int i = 1; i < cc; i++) { if(f[i] != f[i-1]) ans++; } printf("%d\n",ans); } return 0;}

转载于:https://www.cnblogs.com/avema/p/3774351.html

你可能感兴趣的文章
delphi ,安装插件
查看>>
case when then的用法-leetcode交换工资
查看>>
11.28.cookie
查看>>
BeanShell简介
查看>>
python字符串操作
查看>>
不同程序语言的注释和变量要求
查看>>
语言基础(9):static, extern 和 inline
查看>>
ES5_03_Object扩展
查看>>
bzoj 2600: [Ioi2011]ricehub
查看>>
创建数据库,表
查看>>
工厂模式
查看>>
计算机网络基础知识
查看>>
C#里如何遍历枚举所有的项
查看>>
如何在键盘出现时滚动表格,以适应输入框的显示
查看>>
超级强大的鼠标手势工具
查看>>
常用Dockerfile举例
查看>>
jquery的ajax用法
查看>>
设计模式-策略模式(Strategy)
查看>>
django orm 数据查询详解
查看>>
JarvisOJ Basic 熟悉的声音
查看>>