题目链接:http://hihocoder.com/problemset/problem/1079

MD坑爹,线段查询的时候左闭右开。插完挨个点找一遍扔set里,注意没染色的情况。

 1 #include <bits/stdc++.h>
 2 using namespace std;
 3
 4 #define lson l, m, rt << 1
 5 #define rson m + 1, r, rt << 1 | 1
 6 const int maxn = 200100;
 7 int sum[maxn<<2];
 8
 9 void pushDOWN(int rt) {
10     if(sum[rt] != -1) {
11         sum[rt<<1] = sum[rt<<1|1] = sum[rt];
12         sum[rt] = -1;
13     }
14 }
15
16 void update(int L, int R, int c, int l, int r, int rt) {
17     if(L <= l && r <= R) {
18         sum[rt] = c;
19         return;
20     }
21     pushDOWN(rt);
22     int m = (l + r) >> 1;
23     if(L <= m) update(L, R, c, lson);
24     if(R > m) update(L, R, c, rson);
25 }
26
27 int query(int p, int l, int r, int rt) {
28     if(l == r) return sum[rt];
29     pushDOWN(rt);
30     int m = (l + r) >> 1;
31     if(p <= m) return query(p, lson);
32     else return query(p, rson);
33 }
34
35 int h[maxn], hcnt;
36 int n, m;
37 int lo[maxn], hi[maxn];
38
39 int id(int x) {
40     return lower_bound(h, h+hcnt, x) - h + 1;
41 }
42
43 int main() {
44     // freopen("in", "r", stdin);
45     while(~scanf("%d%d",&n,&m)) {
46         hcnt = 0;
47         memset(sum, -1, sizeof(sum));
48         for(int i = 0; i < n; i++) {
49             scanf("%d%d",&lo[i], &hi[i]);
50             h[hcnt++] = lo[i], h[hcnt++] = hi[i];
51         }
52         sort(h, h+hcnt); hcnt = unique(h, h+hcnt) - h;
53         m = hcnt;
54         for(int i = 0; i < n; i++) {
55             update(id(lo[i]), id(hi[i])-1, i, 1, m, 1);
56         }
57         set<int> s;
58         s.insert(-1);
59         for(int i = 1; i <= m; i++) {
60             s.insert(query(i, 1, m, 1));
61             // printf("%d ", query(i, 1, m, 1));
62         }
63         // printf("\n");
64         printf("%d\n", s.size()-1);
65     }
66     return 0;
67 }

转载于:https://www.cnblogs.com/kirai/p/6166194.html

[HIHO1079]离散化(线段树、染色)相关推荐

  1. poj/OpenJ_Bailian - 2528 离散化+线段树

    传送门:http://bailian.openjudge.cn/practice/2528?lang=en_US //http://poj.org/problem?id=2528 题意: 给你n长海报 ...

  2. hdu 5023 线段树染色问题

    题目链接 A Corrupt Mayor's Performance Art Time Limit: 2000/1000 MS (Java/Others) Memory Limit: 100000/1 ...

  3. 【BZOJ1645】[Usaco2007 Open]City Horizon 城市地平线 离散化+线段树

    [BZOJ1645][Usaco2007 Open]City Horizon 城市地平线 Description Farmer John has taken his cows on a trip to ...

  4. [牛客网#35D 树的距离]离散化+线段树合并

    [牛客网#35D 树的距离]离散化+线段树合并 分类:Data Structure SegMent Tree Merge 1. 题目链接 [牛客网#35D 树的距离] 2. 题意描述 wyf非常喜欢树 ...

  5. 850. 矩形面积 II:扫描线+离散化+线段树

    Difficulty: hard 标签: 扫描线, 离散化, 线段树 题目链接 力扣 题目解析 面试代码 /** x轴方向使用扫描线,y轴方向使用线段树维护扫描线的长度和每个区间覆盖的次数.由于y轴方 ...

  6. 贴海报 (线段树染色-离散化

    n(n<=10000) 个人依次贴海报,给出每张海报所贴的范围li,ri(1<=li<=ri<=10000000) .求出最后还能看见多少张海报. 虽然之前学过离散化,但用的时 ...

  7. poj 2528 离散化+线段树 hdu 1698 线段树 线段树题目类型一:染色计数 外加离散化

    第一次听到离散化是今年省赛的时候,一道矩形并的题,很水,就两个矩形... 今天再去做线段树已经发现离散化忘得差不多了...水逼的悲哀啊... 先看简单点的hdu 1698 http://acm.hdu ...

  8. 线段树染色问题(例题为poj2777)

    染色问题加离散化是poj2528,过后我会放出来的 关于离散的详细解释参考博客:https://blog.csdn.net/iwts_24/article/details/81603603 区域染色覆 ...

  9. POJ - 2528 Mayor's posters (浮水法+线段树/离散化+线段树)

    题目链接 题意: n(n<=10000)个人依次贴海报,给出每张海报所贴的范围li,ri(1<=li<=ri<=10000000) .求出最后还能看见多少张海报. 分析1 离散 ...

  10. Mayor's posters POJ - 2528 (离散化+线段树)

    题意: 在1~10000000这个区间中读取n个海报的区间信息,后面的海报会覆 盖前面的海报,问最后能看到几张海报.(本题是一道bug题下面会提) 题目: The citizens of Byteto ...

最新文章

  1. 量子纠缠背后的故事(廿五):深藏幕后的神秘力量
  2. Dockerfile里的VOLUMES关键字
  3. 合工大五套卷_2020合工大超越数一五套卷第一套感想
  4. 看完就会明白windows RT推出的原因、它和window 8到底有些什么区别、微软有什么战略企图--有关于微软Windows RT 你不知道的那些事
  5. java垃圾回收 分代_Java-垃圾回收机制-通用的分代垃圾回收机制
  6. 整数倒转问题的算法实现
  7. 深度强化学习之演员—评论家(Actor—Critic)
  8. Linux 5.7将进一步支持龙芯处理器
  9. IIS下载无后缀文件的设置
  10. Java中映射怎么实现_Java中的映射是怎么实现的
  11. java手机下载软件_山寨手机java软件怎么下载?
  12. 3D 旋转相册 立方体的盒子 相册(源码分享)
  13. 解决win 7拷贝共享文件很慢
  14. Vue仿支付宝首页(更多)添加、删除、拖拽、点击等功能
  15. 使用PS给PDF文件加水印
  16. 最基础的jvav的集合框架组成
  17. 蚀刻后残留物和光刻胶去除技术
  18. 安卓街机模拟器对战源码修改详解(1)
  19. 【求职】格灵深瞳 Java 方向面经
  20. 计算机组成原理实验二

热门文章

  1. python源码中的学习笔记_第11章_模块与包
  2. 在 Windows下使用 fastText
  3. 从零实现爬虫和情感分类模型(二)
  4. 无人驾驶、人脸识别,这些牛X哄哄的技术都是怎么实现的?
  5. 2019118_四个化学数据分析(3)
  6. 每日算法系列【LeetCode 881】救生艇
  7. 吴恩达深度学习——目标检测
  8. 放之四海皆适用的设计原则(二)
  9. 2天玩转单反相机引领快乐光影新生活
  10. 3.4 RNN网络扩展:堆叠RNN、递归神经网络、图网络