21:Integer Intervals
描述
An integer interval [a,b], a < b, is a set of all consecutive integers beginning with a and ending with b.
Write a program that: finds the minimal number of elements in a set containing at least two different integers from each interval.
输入
The first line of the input contains the number of intervals n, 1 <= n <= 10000. Each of the following n lines contains two integers a, b separated by a single space, 0 <= a < b <= 10000. They are the beginning and the end of an interval.
输出
Output the minimal number of elements in a set containing at least two different integers from each interval.
样例输入
4
3 6
2 4
0 2
4 7
样例输出
4

这个题我去,英语和语文真的很重要,我直接没明白这个题是啥意思,现在我先解释一下这个题是啥意思,就是找到一个集合,是列出集合的元素有至少两个能够在这个集合中找到。
然后这个题我刚开始想的时候就是从第一个枚举这几个集合,但是我始终想不通这个究竟要怎么做。其实这个题是要排序的,让他们按照最后一个元素的大小进行排序,如果最后个元素的大小一样,那就第一个元素小的在前,这样排序,这里在后面是要用到的,然后在弄了两个标志来记录当前的这两个元素,因为是按照大的排序,所以这个后一个元素如果有相连的,那就一定是最后的元素,这就是排序的奥妙。所以两个标志就是当前这个元素的最大的数和最次大的数。如果全部包含,那就不增加元素,如果包含一个那就增加一个元素,如果全不包含那就增加一个元素,注意在增加的时候要把两个标志重新的改变。

#include<iostream>
#include<algorithm>
using namespace std;
struct node
{int f,r;
}a[10005];
int cmp(node a,node b)
{if(a.r==b.r) return a.f<b.f;else return a.r<b.r;
}
int main()
{int n;cin>>n;for(int i=0;i<n;i++)cin>>a[i].f>>a[i].r;sort(a,a+n,cmp);int l,r;l=a[0].r-1;r=a[0].r;int ans=2;for(int i=1;i<n;i++){if((a[i].f<=l)&&(l<=a[i].r)&&(a[i].f<=r)&&(r<=a[i].r))continue;else if((a[i].f<=r)&&(r<=a[i].r)){l=r;r=a[i].r;ans++;}else{l=a[i].r-1;r=a[i].r;ans+=2;}}cout<<ans<<endl;return 0;
}

21:Integer Intervals相关推荐

  1. Integer Intervals

    描述 An integer interval [a,b], a < b, is a set of all consecutive integers beginning with a and en ...

  2. POJ 1716 Integer Intervals 差分约束

    题目:http://poj.org/problem?id=1716 1 #include <stdio.h> 2 #include <string.h> 3 #include ...

  3. POJ 1716 Integer Intervals【差分约束】

    题意: 知道了数轴上的n个区间,每个区间都是连续的int区间,现在要在数轴上任意取一堆元素,构成一个元素集合V要求每个区间和元素集合V的交集至少有两个不同的元素 求集合V最小的元素个数. 转一分析:( ...

  4. POJ 1716 Integer Intervals

    POJ_1716 由于有了前面几个题目的基础,解答这个题目的过程还算顺利.我们设S[i]为区间[0,i)内选取的数字的数量,那么有①S[b+1]-S[a]>=2,②S[i+1]-S[i]> ...

  5. 程序竞赛SDAU 小节(第四周)

    这一周是把贪心结束了,dp动态规划开了一点头,感觉老师讲dp就是比自己看的 好!然后这一周贪心的题目也结束了,自己也有好多没做出来的而且老师贪心课件里有好几个难题. ①06:Communication ...

  6. deepin无声_无声战士大厅

    deepin无声 An hour southwest of Baltimore, MD, a collection of historical treasure is on display in a ...

  7. poj1201/zoj1508/hdu1384 Intervals(差分约束)

    转载请注明出处: http://www.cnblogs.com/fraud/           --by fraud Intervals Time Limit: 10 Seconds      Me ...

  8. Integer vs int

    http://www.cnblogs.com/liuling/archive/2013/05/05/intAndInteger.html 如果面试官问Integer与int的区别:估计大多数人只会说道 ...

  9. POJ 1201 amp; HDU1384 amp; ZOJ 1508 Intervals(差分约束+spfa 求最长路径)

    题目链接: POJ:http://poj.org/problem?id=1201 HDU:http://acm.hdu.edu.cn/showproblem.php? pid=1384 ZOJ:htt ...

最新文章

  1. 《新程序员003》正式上市!华为、阿里等 30+ 公司的云原生及数字化实战经验...
  2. 大神开源AI代码!这次我也可以亲自上手、模仿OpenAI利用文本合成图像啦!
  3. echarts js 删除框选数据_echarts同一页面中四个图表切换的js数据交互方法示例
  4. 十分经典的批处理教程
  5. 六:Cocos2d-x的CCLayer
  6. 2021 ACDU China Tour启航,首站邀您北京共话行业数据库技术实践
  7. Oracle使用rman备份数据库时出现cannot reclaim的错误
  8. 回溯算法解迷宫问题(java版)
  9. Selenium-鼠标操作
  10. 3_kicad 5 0_PCB计算器(稳压器,布线宽度,电气间距,传输线路,RF衰减器,颜色代码,电路板类别)...
  11. 扩展卡尔曼滤波(EKF)
  12. 小众创客的狂欢——树莓派
  13. 计算机x线断层扫描英文缩写,计算机X线断层扫描
  14. 离散数学 1. 符号表、集合和命题
  15. 宫崎骏动画里的新垣结衣见过没?这个开源动漫生成器让你的照片秒变手绘日漫
  16. python解决经典数学问题-用python解决普通高中数学书A必修三题目(一)
  17. Win10专业工作站版本提示授权许可到期到解决办法
  18. ionic3小知识(持续更新...)
  19. linux 通过手机上网,Linux系统通过手机GPRS上网设置简介有哪些呢?
  20. 看穿 137 亿光年,中国天眼会帮我们找到「三体星」吗?|创新大会 2021

热门文章

  1. 树莓派显示屏输出设置
  2. 高级软件测试工程师精华面试题(持续更新中)
  3. java 开源微信电商项目
  4. 移动互联应用技术专业的那些事
  5. 项目之RFID天线设计1
  6. GW620 刷机 ANDROID 1.5、2.2、2.3
  7. 广岛原子弹爆炸73年,扒一扒科技与战争启示录
  8. BZOJ 1024 SCOI2009 生日快乐 暴力搜索
  9. 电压比较器工作原理及应用
  10. 记录一下:获取公众号关注页、介绍页链接