1324:【例6.6】整数区间

时间限制: 1000 ms         内存限制: 65536 KB
提交数: 7185     通过数: 4260

【题目描述】

请编程完成以下任务:

1.读取闭区间的个数及它们的描述;

2.找到一个含元素个数最少的集合,使得对于每一个区间,都至少有一个整数属于该集合,输出该集合的元素个数。

【输入】

首行包括区间的数目n,1≤n≤10000,接下来的n行,每行包括两个整数a,b,被一空格隔开,0≤a≤b≤10000,它们是某一个区间的开始值和结束值。

【输出】

第一行集合元素的个数,对于每一个区间都至少有一个整数属于该区间,且集合所包含元素数目最少。

【输入样例】

4
3 6
2 4
0 2
4 7

【输出样例】

2

【分析】

算法模型∶给 n个闭区间 [ai, bi],在数轴上选尽量少的点,使每个区间内至少有一个点。
        算法:首先按 b1<=b2<=…<=bn 排序。每次标记当前区间的右端点 x,并右移当前区间指针,直到当前区间不包含 x,再重复上述操作。如下图,如果选灰色点,移动到黑色点更优。

【输出样例】

#include <stdio.h>
#define N 10010
struct point
{int x;int y;
}a[N],t;int main()
{int i,j,x,sum=0,n;scanf("%d",&n);for(i=0;i<n;i++)scanf("%d%d",&a[i].x,&a[i].y);for(i=0;i<n-1;i++)      //比较排序 {for(j=i+1;j<n;j++){if(a[i].y>a[j].y){t=a[i];a[i]=a[j];a[j]=t;}}}x=-1;for(i=0;i<n;i++){if(x>=a[i].x)continue;    //贪心,如果当前区间包含标记点,就跳过sum++;x=a[i].y;}printf("%d\n",sum);  //更新标记点 return 0;
}

http://ybt.ssoier.cn:8088/problem_show.php?pid=1324

信息学奥赛一本通(1324:【例6.6】整数区间)相关推荐

  1. 信息学奥赛一本通 1324:【例6.6】整数区间

    [题目链接] ybt 1324:[例6.6]整数区间 [题目考点] 1. 贪心 2. 贪心选择性质的证明 要想证明贪心选择可以得到最优解,只需要证明最优解包含每一次的贪心选择. 使用数学归纳法: 证明 ...

  2. 信息学奥赛一本通(1171:大整数的因子)

    1171:大整数的因子 时间限制: 1000 ms         内存限制: 65536 KB 提交数: 7938     通过数: 4632 [题目描述] 已知正整数k满足2<=k<= ...

  3. 信息学奥赛一本通(1174:大整数乘法)

    1174:大整数乘法 时间限制: 1000 ms         内存限制: 65536 KB 提交数: 12480     通过数: 7002 [题目描述] 求两个不超过200位的非负整数的积. [ ...

  4. 信息学奥赛一本通(1169:大整数减法)

    1169:大整数减法 时间限制: 1000 ms         内存限制: 65536 KB 提交数: 20463     通过数: 11820 [题目描述] 求两个大的正整数相减的差. [输入] ...

  5. 信息学奥赛一本通(1088:分离整数的各个数)

    1088:分离整数的各个数 时间限制: 1000 ms         内存限制: 65536 KB 提交数: 34493     通过数: 24697 [题目描述] 给定一个整数n(1≤n≤1000 ...

  6. 信息学奥赛一本通(1061:求整数的和与均值)

    1061:求整数的和与均值 时间限制: 1000 ms         内存限制: 65536 KB 提交数: 70296     通过数: 34468 [题目描述] 读入n(1≤n≤10000)个整 ...

  7. 信息学奥赛一本通C++语言——1117:整数去重

    [题目描述] 给定含有n个整数的序列,要求对这个序列进行去重操作.所谓去重,是指对这个序列中每个重复出现的数,只保留该数第一次出现的位置,删除其余位置. [输入] 输入包含两行: 第一行包含一个正整数 ...

  8. 信息学奥赛一本通C++语言——1043:整数大小比较

    [题目描述] 输入两个整数,比较它们的大小.若x>y,输出>:若x=y,输出=:若x<y,输出<. [输入] 一行,包含两个整数x和y,中间用单个空格隔开.0≤x<232 ...

  9. 信息学奥赛一本通:1168:大整数加法

    1168:大整数加法 时间限制: 1000 ms         内存限制: 65536 KB 提交数: 76804     通过数: 25726 [题目描述] 求两个不超过200位的非负整数的和. ...

  10. 信息学奥赛一本通(1168:大整数加法)

    1168:大整数加法 时间限制: 1000 ms         内存限制: 65536 KB 提交数: 44610     通过数: 14295 [题目描述] 求两个不超过200位的非负整数的和. ...

最新文章

  1. Spring Boot 前后端配合及接口化测试学习记录[3]
  2. 编程沉思-做一款小巧而好用的截图软件
  3. Enhanced ABAP Development with Core Data Services (CDS)
  4. yum 转mysql_centos下彻底删除MYSQL 和重新安装MYSQL(转)
  5. 吴恩达 coursera ML 第十四课总结+作业答案
  6. 【收藏】CDH6.2.1 配置Flink1.10(编译安装)
  7. b超可以看出什么_【b超能检查出什么】b超能看出男女吗_b超能查出什么妇科病 - 妈妈网百科...
  8. 编程语言的发展趋势及未来方向(1):历史回顾及趋势概述
  9. java jtree 监听_Java JTree.addTreeExpansionListener方法代码示例
  10. [LeetCode]Trapping Rain Water
  11. F - Good Words
  12. FormsAuthentication使用指南
  13. 制作卡通人物的3种简单方法
  14. 东芝服务器报错误代码维修,东芝复印机错误代码和维修代码
  15. 大地高、正高和正常高
  16. 470计算机毕业设计
  17. hp linux 禁用u盘启动项,BIOS关闭Secure Boot(安全启动)方法大全(联想,华硕,DELL,HP等品牌)...
  18. java程序设计案例教程答案,2年以上经验必看
  19. Tcp、select函数实现在线词典(C语言)
  20. 如何把PDF转成PPT文件?这几招简单方便

热门文章

  1. Codeforces Round #205 (Div. 2) : D
  2. 如何下载Lucene.net源码
  3. 数据分析领域七大热门职业
  4. 终于有人把平均数、中位数和众数讲明白了
  5. LwIP移植到FreeRTOS(STM32F107+DP83848)
  6. makefile之目标与依赖(1)
  7. C++矩阵库 Eigen 快速入门
  8. 关于php的梗儿_php几个不起眼儿的小技巧
  9. 7000 字,四年多 Java 的 BAT 面经分享!
  10. 雷军 1994 年写的代码,你见过吗?厉害了!