21:Integer Intervals
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相关推荐
- Integer Intervals
描述 An integer interval [a,b], a < b, is a set of all consecutive integers beginning with a and en ...
- POJ 1716 Integer Intervals 差分约束
题目:http://poj.org/problem?id=1716 1 #include <stdio.h> 2 #include <string.h> 3 #include ...
- POJ 1716 Integer Intervals【差分约束】
题意: 知道了数轴上的n个区间,每个区间都是连续的int区间,现在要在数轴上任意取一堆元素,构成一个元素集合V要求每个区间和元素集合V的交集至少有两个不同的元素 求集合V最小的元素个数. 转一分析:( ...
- POJ 1716 Integer Intervals
POJ_1716 由于有了前面几个题目的基础,解答这个题目的过程还算顺利.我们设S[i]为区间[0,i)内选取的数字的数量,那么有①S[b+1]-S[a]>=2,②S[i+1]-S[i]> ...
- 程序竞赛SDAU 小节(第四周)
这一周是把贪心结束了,dp动态规划开了一点头,感觉老师讲dp就是比自己看的 好!然后这一周贪心的题目也结束了,自己也有好多没做出来的而且老师贪心课件里有好几个难题. ①06:Communication ...
- deepin无声_无声战士大厅
deepin无声 An hour southwest of Baltimore, MD, a collection of historical treasure is on display in a ...
- poj1201/zoj1508/hdu1384 Intervals(差分约束)
转载请注明出处: http://www.cnblogs.com/fraud/ --by fraud Intervals Time Limit: 10 Seconds Me ...
- Integer vs int
http://www.cnblogs.com/liuling/archive/2013/05/05/intAndInteger.html 如果面试官问Integer与int的区别:估计大多数人只会说道 ...
- 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 ...
最新文章
- 《新程序员003》正式上市!华为、阿里等 30+ 公司的云原生及数字化实战经验...
- 大神开源AI代码!这次我也可以亲自上手、模仿OpenAI利用文本合成图像啦!
- echarts js 删除框选数据_echarts同一页面中四个图表切换的js数据交互方法示例
- 十分经典的批处理教程
- 六:Cocos2d-x的CCLayer
- 2021 ACDU China Tour启航,首站邀您北京共话行业数据库技术实践
- Oracle使用rman备份数据库时出现cannot reclaim的错误
- 回溯算法解迷宫问题(java版)
- Selenium-鼠标操作
- 3_kicad 5 0_PCB计算器(稳压器,布线宽度,电气间距,传输线路,RF衰减器,颜色代码,电路板类别)...
- 扩展卡尔曼滤波(EKF)
- 小众创客的狂欢——树莓派
- 计算机x线断层扫描英文缩写,计算机X线断层扫描
- 离散数学 1. 符号表、集合和命题
- 宫崎骏动画里的新垣结衣见过没?这个开源动漫生成器让你的照片秒变手绘日漫
- python解决经典数学问题-用python解决普通高中数学书A必修三题目(一)
- Win10专业工作站版本提示授权许可到期到解决办法
- ionic3小知识(持续更新...)
- linux 通过手机上网,Linux系统通过手机GPRS上网设置简介有哪些呢?
- 看穿 137 亿光年,中国天眼会帮我们找到「三体星」吗?|创新大会 2021