``` #include <cstdio>
#include <cstring>
#include <cstdlib>
#include <algorithm>

#define lson l, m, rt << 1
#define rson m + 1, r, rt << 1 | 1
#define lc rt << 1
#define rc rt << 1 | 1

using namespace std;

;

struct node
{
int l, r;
};

node D[MAXN];
int limit, Q;
];
];
int N;
int X[MAXN];

void build( int l, int r, int rt )
{
maxi[rt] = lazy[rt] = ;
if ( l == r ) return;
;
build( lson );
build( rson );
return;
}

void PushUp( int rt )
{
maxi[rt] = max( maxi[lc], maxi[rc] );
return;
}

void PushDown( int rt )
{
if ( lazy[rt] )
{
lazy[lc] += lazy[rt];
lazy[rc] += lazy[rt];
maxi[lc] += lazy[rt];
maxi[rc] += lazy[rt];
lazy[rt] = ;
}
return;
}

void update( int L, int R, int l, int r, int rt )
{
if ( L <= l && r <= R )
{
lazy[rt] += ;
maxi[rt] += ;
return;
}
PushDown( rt );
;
if ( L <= m ) update( L, R, lson );
if ( R > m )  update( L, R, rson );
PushUp( rt );
return;
}

int query( int L, int R, int l, int r, int rt )
{
if ( L <= l && r <= R )
{
return maxi[rt];
}
PushDown( rt );
;

;
if ( L <= m ) res = max( res, query( L, R, lson ) );
if ( R > m )  res = max( res, query( L, R, rson ) );
PushUp( rt );
return res;
}

int Bin(int key,int n,int X[]) {
, r = n - ;
while (l <= r) {
;
if (X[m] == key) return m;
;
;
}
;
}

int main()
{
int T;
scanf( "%d", &T );
while ( T-- )
{
scanf( "%d", &Q );
;
N = ;
; i < Q; ++i )
{
int u, v;
scanf( "%d%d", &u, &v );
if (v>N) N=v;
D[i].l = u, D[i].r = v;
X[nnd++]=u;
X[nnd++]=v;
}
//build( 1, N, 1 );
//for (int i=0;i<Q;i++)
//    update( D[i].l, D[i].r, 1, N, 1 );

sort(X , X + nnd);
;
; i < nnd; i ++) {
]) X[m ++] = X[i];
}
; i >  ; i --) {
] + ) X[m ++] = X[i-] + ;
}
sort(X , X + m);
build(,m-,);
; i < Q ; i ++) {
int l = Bin(D[i].l, m, X);
int r = Bin(D[i].r, m, X);
update(l, r , , m - , );
}

//int ans = query( 1, N , 1, N, 1 );
,m-,,m-,);
printf( "%d\n", ans);
//update( D[i].l, D[i].r, 1, N, 1 );
}
;
}```

## hdu5124 线段树+离散化的更多相关文章

1. POJ 2528 Mayor&#39;s posters(线段树+离散化)

Mayor's posters 转载自:http://blog.csdn.net/winddreams/article/details/38443761 [题目链接]Mayor's posters [ ...

2. poj 2528 Mayor&#39;s posters（线段树+离散化）

/* poj 2528 Mayor's posters 线段树 + 离散化 离散化的理解: 给你一系列的正整数, 例如 1, 4 , 100, 1000000000, 如果利用线段树求解的话,很明显 ...

3. [poj2528] Mayor&#39;s posters (线段树+离散化)

线段树 + 离散化 Description The citizens of Bytetown, AB, could not stand that the candidates in the mayor ...

4. [UESTC1059]秋实大哥与小朋友（线段树, 离散化）

题目链接:http://acm.uestc.edu.cn/#/problem/show/1059 普通线段树+离散化,关键是……离散化后建树和查询都要按照基本法!!!RE了不知道多少次………………我真 ...

5. POJ2528Mayor&#39;s posters[线段树 离散化]

Mayor's posters Time Limit: 1000MS   Memory Limit: 65536K Total Submissions: 59683   Accepted: 17296 ...

6. HDU 3743 Frosh Week （线段树+离散化）

题目链接:http://acm.hdu.edu.cn/showproblem.php?pid=3743 Frosh Week Time Limit : 2000/1000ms (Java/Other) ...

7. 【HDU 1542】Atlantis（线段树+离散化，矩形面积并)

求矩形面积并,离散化加线段树. 扫描线法: 用平行x轴的直线扫,每次ans+=(下一个高度-当前高度)*当前覆盖的宽度. #include<algorithm> #include<c ...

8. 【POJ 2528】Mayor’s posters（线段树+离散化）

题目 给定每张海报的覆盖区间,按顺序覆盖后,最后有几张海报没有被其他海报完全覆盖.离散化处理完区间端点,排序后再给相差大于1的相邻端点之间再加一个点,再排序.线段树,tree[i]表示节点i对应区间是 ...

9. poj 2528 线段树+离散化

题意:在墙上贴一堆海报(只看横坐标,可以抽象成一线段),新海报可以覆盖旧海报.求最后能看到多少张海报 sol:线段树成段更新.铺第i张海报的时候更新sg[i].x~sg[i].y这一段为i. 然而坐标 ...

## 随机推荐

1. C#最齐全的上传图片方法。

public ActionResult Upload() { string imgurl = ""; foreach (string key in Request.Files) { ...

2. response.sendRedirect的细节

今天敲书上的例子的时候无意间发现,response中的sendRedirect()重定向到另一个servlet时,调用的是doget方法,不明所以,百度得知,原来还牵扯到http协议的细节问题,原文如 ...

3. Types of intraclass correlation coefficience (ICC)

Reference: Andellini M, Cannatà V, Gazzellini S, et al. Test-retest reliability of graph metrics of ...

4. WPF中System.Diagnostics.Process.Start的妙用

我们经常会遇到在Winform或是WPF中点击链接或按钮打开某个指定的网址, 或者是需要打开电脑中某个指定的硬盘分区及文件夹, 甚至是"控制面板"相关的东西, 那么如何做呢? 答案 ...

5. [NOIP2009] 提高组 洛谷P1071 潜伏者

题目描述 R 国和 S 国正陷入战火之中,双方都互派间谍,潜入对方内部,伺机行动.历尽艰险后,潜伏于 S 国的 R 国间谍小 C 终于摸清了 S 国军用密码的编码规则: 1． S 国军方内部欲发送的原 ...

6. ARP缓存表的构成ARP协议全面实战协议详解、攻击与防御

ARP缓存表的构成ARP协议全面实战协议详解.攻击与防御 1.4.3  ARP缓存表的构成 在局域网的任何一台主机中,都有一个ARP缓存表.该缓存表中保存中多个ARP条目.每个ARP条目都是由一个IP ...

7. __stdcall 与 __cdecl

(1) _stdcall调用 _stdcall是Pascal程序的缺省调用方式,参数采用从右到左的压栈方式,被调函数自身在返回前清空堆栈. WIN32 Api都采用_stdcall调用方式,这样的宏定 ...

8. Heritrix源码分析(四) 各个类说明(转）

Heritrix的类的确很繁琐,往往继承了一层又一层,最多的继承好像有7层.下面就一个包一个包的说明每个类的作用,由于里面Heritrix组件分明,很多组件没用到的同时该组件的类我也没怎么接触,所以这 ...

9. MFC最大化显示任务栏

今天2016-07-23   13:26:24又来处理最大化时,窗口任务栏隐藏的bug. 前面已经用了 MINMAXINFO的结构体: typedef struct { POINT ptReserve ...

10. 神经网络的学习 Neural Networks learing

1.一些基本符号 2.COST函数 ================Backpropagation Algorithm============= 1.要计算的东西 2.向前传递向量图,但为了计算上图的 ...