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

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

这题和上题一样,但要注意,这题专业反人类反STL,用map离散化TLE。。

#include 
#include
#include
#include
#include
#include
#include
#include
#include
#include
#define LL __int64using namespace std;const int N=40050;const int root=1;int tree[N*4];struct Paper{ int begin,end;}paper[N/3];int sort_num[N],cnt;bool hash[N/3];void PushDown(int now){ if(tree[now]>0){ tree[now*2]=tree[now*2+1]=tree[now]; tree[now]=0; }}void update(int now,int l,int r,int u,int L,int R){ if(l<=L&&r>=R){ tree[now]=u; return ; } PushDown(now); int m=(L+R)/2; if(r<=m){ update(now*2,l,r,u,L,m); } else if(l>=m+1)update(now*2+1,l,r,u,m+1,R); else{ update(now*2,l,r,u,L,m); update(now*2+1,l,r,u,m+1,R); }}void query(int now,int l,int r){ if(tree[now]>0){ if(!hash[tree[now]]) cnt++; hash[tree[now]]=true; return ; } if(l==r) return ; int m=(l+r)/2; query(now*2,l,m); query(now*2+1,m+1,r);}int Bin(int key,int n,int X[]) { int l = 0 , r = n - 1; while (l <= r) { int m = (l + r) >> 1; if (X[m] == key) return m; if (X[m] < key) l = m + 1; else r = m - 1; } return -1; } int main(){ int T,n,tot,l,r; scanf("%d",&T); while(T--){ scanf("%d",&n); tot=0; for(int i=1;i<=n;i++){ scanf("%d%d",&paper[i].begin,&paper[i].end); sort_num[tot++]=paper[i].begin; sort_num[tot++]=paper[i].end; } sort(sort_num,sort_num+tot); int cnum=1,m=0; for(int i=0;i
0 ; i --) { if (sort_num[i] != sort_num[i-1] + 1) sort_num[m ++] = sort_num[i-1] + 1; } sort(sort_num,sort_num+m); memset(tree,0,sizeof(tree)); for(int i=1;i<=n;i++){ l=Bin(paper[i].begin , m , sort_num),r=Bin(paper[i].end , m , sort_num); l++,r++; update(root,l,r,i,1,m); } memset(hash,false,sizeof(hash)); cnt=0; query(root,1,m); printf("%d\n",cnt); } return 0;}

  

转载于:https://www.cnblogs.com/jie-dcai/p/4316480.html

你可能感兴趣的文章
发布aar到jcenter
查看>>
跨浏览器问题的五种解决方案
查看>>
selenium通过send_keys方法上传文件
查看>>
修改oracle内存占用
查看>>
Azure DevOps (TFS) 与 Office 集成
查看>>
java 学习第二篇关系运算符和布尔值
查看>>
flask--session组件
查看>>
深入理解 CSS变形 transform(3d)
查看>>
python模块:xml
查看>>
OCP-1Z0-051-题目解析-第6题
查看>>
JS获取中文拼音首字母,并通过拼音首字母高速查找页面内的中文内容
查看>>
站长VS微商 你选择哪个?
查看>>
LeetCode :: Convert Sorted Array (link list) to Binary Search Tree [tree]
查看>>
iOS_22自定义键盘工具栏
查看>>
输入 URL 到页面完成加载过程中的所有发生的事情?
查看>>
Cocos2dx 3.0 过渡篇(二十五)死不了的贪食蛇(触摸版)
查看>>
XPath定位时,使用文本的方法小技巧。
查看>>
EBS 信用检查(二)
查看>>
JZOJ 1781. Number
查看>>
.NET学习杂记
查看>>