题意:给你n个区间,每个区间权值为1,在如下规则下求权值和:若一个区间能完全被另一个区间覆盖(端点不重合),则这个区间的权值不计入总和。

题解:我们首先讲端点对按照右端点优先升序排列,右端点相同,按左端点升序排列,然后我们顺序对左端点进行处理,先建个空vector,对每个左端点,若在vector中能找到比它大的,则说明它可以把比它大的左端点包含在其内,则消去那个点,将当前点替换那个点的位置,若找不到,则将当前点入vector。那么,我们是如何保证正确性的呢,因为之前已经按照右端点优先升序排列,也就是说,我们按顺序处理的左端点l[i]所匹配的右端点r[i],总是小于或等于l[i+1]所对应的r[i+1],即先处理的区间的右端总能被包含在下一个区间的右端之内,这样我们对左端点处理就不会受右端点的影响。讲的不清楚,画画图就明白了。。

#include<bits/stdc++.h>
#define MEM(a,x) memset(a,x,sizeof(a));
#define MEMINF(a) memset(a,0x3f,sizeof(a));
using namespace std;
typedef long long LL;
const int MAXN=205;
const int INF=0x3f3f3f3f;
const int MOD=1000000007;
typedef pair<int,int> PAIR;
vector<PAIR  >num;
vector<int>limit;
bool cmp (PAIR a,PAIR b) {if (a.second==b.second) return a.first<b.first;return a.second<b.second;
}int main() {int T;int n;cin>>T;for (int cas=1; cas<=T; ++cas) {printf("Case %d: ",cas);num.clear();limit.clear();int u,v;cin>>n;for (int i=0; i<n; ++i) {scanf("%d %d",&u,&v);num.push_back(make_pair(u,v));}sort(num.begin(),num.end(),cmp);/*for (int i=0; i<num.size(); ++i) {printf("%d %d\n",num[i].first,num[i].second);}*/for (auto ni=num.begin(); ni!=num.end(); ni++) {auto find=lower_bound(limit.begin(),limit.end(),ni->first+1);if (find==limit.end()) limit.push_back(ni->first);else {*find=ni->first;}}cout<<(int)limit.size()<<endl;}
}

UVA12707 Block Meh 贪心相关推荐

  1. CF 626C [Block Towers] 贪心

    题目链接:http://codeforces.com/problemset/problem/626/C 题目大意: 有n个人用高度为2的砖往上搭,有m个人用高度为3的砖往上搭.每个人可用的砖块数是无限 ...

  2. HCIE-Cloud笔试

    前言: 目录按照HCIE-Cloud官方培训教材V2.0进行制定,通过笔试考点挂钩HCIE-Cloud官方培训教材V2.0中的知识,相互强化记忆 1.优点:基本笔试的知识分类,是按照该教材的目录大纲分 ...

  3. B. Block Adventure(贪心)

    题目链接 在这 ----> here 题意大致是有n列石柱,每一列石柱都是由高度为一的石块组成,一个人要从第一根到第n根,他有一个口袋,可以装下无限的石块,他可以在一个石柱上任意取石块,只要这个 ...

  4. Objective-C中的block块语法

    #import <Foundation/Foundation.h>/*OC不同于Java C++ 它没有字符串对象 只有NS对象NS就是乔布斯第一个公司NeXt的类集合 被收购之后才有了C ...

  5. Solve The Maze CodeForces - 1365D(贪心+dfs)

    Vivek has encountered a problem. He has a maze that can be represented as an n×m grid. Each of the g ...

  6. CodeForces 176A Trading Business 贪心

    Trading Business 题目连接: http://codeforces.com/problemset/problem/176/A Description To get money for a ...

  7. 回溯算法和贪心算法_回溯算法介绍

    回溯算法和贪心算法 回溯算法 (Backtracking Algorithms) Backtracking is a general algorithm for finding all (or som ...

  8. 【BZOJ3048】Cow lineup,贪心+队列维护(或二分答案)

    传送门(权限题) 题面: 3048: [Usaco2013 Jan]Cow Lineup Time Limit: 2 Sec Memory Limit: 128 MB Submit: 121 Solv ...

  9. UVA434 Matty‘s Blocks【贪心】

    Little Matty liked playing with his blocks very much. He always constructed his 'buildings' in the s ...

最新文章

  1. 面向对象1(super、this)
  2. [Spark][Python]groupByKey例子
  3. vue ui框架_「webAPP」记录几款比较好用的vue 移动端的ui框架
  4. 统计一个字符在另一个字符串中出现的次数
  5. php面向对象异常处理,PHP面向对象编程——自定义PHP异常处理类
  6. Flutter进阶—质感设计之表单输入
  7. 这么多人,AI怎么知道你说的是哪个? | 李飞飞团队CVPR论文+代码
  8. 人民日报:研究生期间该懂的47件事,你认可吗?
  9. sqlite3 加密版本 下载_制作Sqlcipher+SM4加密的framework包(OC)
  10. 程序员年薪百万,原来是吃到了这样的红利!
  11. 31、键树的插入、查找(孩子兄弟存储结构)
  12. “极狐•华为HI版本”的尴尬与困境
  13. 物联网大赛 - Android学习笔记(三)Android 事件处理
  14. npm安装依赖报错——npm ERR gyp verb cli的解决方法 Node Sass version 7.0.1 is incompatible with ^4.0.0. 因为在此系统上禁止运
  15. k8s1.23 Ingress-nginx实操
  16. QQ群排名优化到霸屏的策略怎么做?
  17. 【点云配准】点云配准中常用的评价指标(豪斯多夫距离/Hausdorff Distance、倒角距离/Chamfer Distance和陆地移动距离/Earth Mover‘s Distan
  18. java转义字符响铃_转义字符
  19. vue——初学Vue
  20. IPVS -三种IP负载均衡技术与八种调度算法

热门文章

  1. 中职计算机最好大专学校,成都计算机大专哪个好,成都最好的计算机大专
  2. 基于python的高校图书馆用户行为数据可视化平台设计与实现
  3. 80老翁谈人生(273):用人单位对职工作出“自动离职”处理决定相当于用人单位辞退职工的法律行为
  4. 陈泽辉 (Keith Chan)个人简介
  5. 仿小米运动的蓝牙开源项目(附详细实现说明+源码)
  6. 四招实用方法!教你如何关闭Win10自动更新
  7. 使用计算机拍摄制作电视盒电影,如何远程控制电视机顶盒?这个方法让你不在家也能给爸妈点播电影电视剧!...
  8. 丁鹿学堂:git入门指南,简单易用
  9. 行内元素和块级元素的具体区别
  10. 三字经(英文版)搞笑篇