贪心6--整数区间

贪心6--整数区间

一、心得

 

二、题目和分析

 给n个区间,形式为[a, b],a和b均为整数,且a < b。
求一个最小的整数点的集合,使得每个区间至少2个不同的元素(整数点)属于这个集合。
求这个集合的元素个数。
输入
第1行:1个整数n(1 <= n <= 10000)
接下来n行,每行2个整数,表示区间的左右端点a, b(0 <=a < b <= 10000)
输出
第1行:1个整数,表示集合的元素的个数
样例输入
4
3 6
2 4
0 2
4 7
样例输出
4

三、代码和结果

 

 1 #include <iostream>
 2 #include <algorithm>
 3 using namespace std;
 4 struct act{
 5     int begin;
 6     int end;
 7 };
 8 
 9 int mycmp(const act &a,const act &b){
10     return a.end<b.end;
11 }
12 
13 //贪心,选最快结束就好 
14 int main(){
15     //freopen("in.txt","r",stdin);
16     int n;
17     cin>>n;
18     act a[1005];
19     for(int i=1;i<=n;i++){
20         cin>>a[i].begin>>a[i].end;
21     }
22     sort(a+1,a+n+1,mycmp);
23     cout<<"排序后的序列"<<endl; 
24     for(int i=1;i<=n;i++){
25         cout<<a[i].begin<<" "<<a[i].end<<endl;
26     }
27     int total=1;
28     int x=a[1].end;
29     int ans[1005];
30     ans[total]=x;
31     for(int i=2;i<=n;i++){
32         if(a[i].begin>x){
33             total++;
34             x=a[i].end;
35             ans[total]=x;
36         }
37     
38     }
39     cout<<"ans:"<<total<<endl;
40     for(int i=1;i<=total;i++){
41         cout<<ans[i]<<" ";
42     }
43     cout<<endl;
44     
45     return 0;
46 } 

转载于:https://www.cnblogs.com/Renyi-Fan/p/7135615.html

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/416429.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

分治3--黑白棋子的移动

分治3--黑白棋子的移动 一、心得 二、题目和分析 黑白棋子的移动&#xff08;chessman&#xff09;【问题描述】有2n个棋子&#xff08;n≥4&#xff09;排成一行&#xff0c;开始位置为白子全部在左边&#xff0c;黑子全部在右边&#xff0c;如下图为n5的情形&#xff1a;○○…

cocos2dX 之数据存储

今天我们来看cocos2dX里面的数据存储类, CCUserDefault, 如今的游戏基本都会把用户信息保存下来, 以便于再次进入游戏的时候读取, 为了方便起见&#xff0c;有时我们也能够用CCUserDefault来存储金币数目这样的简单的数据项, 当然, 大型数据还是建议使用数据库 闲话不多说, 我…

前端学习(2482):关于接口的调错

request.js <template> <div class"artical-container"><!--卡片--><el-card class"filter-card"><div slot"header" class"clearfix"><!--面包屑导航--><el-breadcrumb separator-class&quo…

php 小知识随手记 new self() 和new static()作用和区别

A.new self() 返回代码段所以在的类 B.new static()返回的是当前实例化的类 例子&#xff1a; 转载于:https://www.cnblogs.com/walksnow/p/7141999.html

前端学习(2485):vue里面的this指向

一、普通函数中的this 这是vue文档里的原话&#xff1a; All lifecycle hooks are called with their this context pointing to the Vue instance invoking it. 意思是&#xff1a;在Vue所有的生命周期钩子方法&#xff08;如created&#xff0c;mounted&#xff0c; updated…

5专题总结-数据结构

专题5-数据结构 2017-07-13 C Primer P329好好研读&#xff0c;stack,queue,priority_queue都是顺序容器适配器adaptor。&#xff08;接受一种已有的容器类型&#xff0c;使其行为看起来像另一种事物一样&#xff09; 适配器的底层容器&#xff08;array和forward_list都不行&a…

Ribbon自带负载均衡策略比较

Ribbon自带负载均衡策略比较 策略名策略声明策略描述实现说明BestAvailableRulepublic class BestAvailableRule extends ClientConfigEnabledRoundRobinRule选择一个最小的并发请求的server逐个考察Server&#xff0c;如果Server被tripped了&#xff0c;则忽略&#xff0c;在选…

newcondition java_Java并发Condition接口

全屏java.util.concurrent.locks.Condition接口提供一个线程挂起执行的能力&#xff0c;直到给定的条件为真。 Condition对象必须绑定到Lock&#xff0c;并使用newCondition()方法获取对象。Condition类的方法以下是Condition类中可用的重要方法的列表。序号方法名称描述1publi…

前端学习(2486):$emit

1、父组件可以使用 props 把数据传给子组件。 2、子组件可以使用 $emit 触发父组件的自定义事件。 vm.$emit( event, arg ) //触发当前实例上的事件 vm.$on( event, fn );//监听event事件后运行 fn&#xff1b; 例如&#xff1a;子组件&#xff1a; <template><di…

葡萄城报表介绍:B/S 报表软件

葡萄城报表介绍&#xff1a;B/S 报表软件 B/S 报表软件定义 B/S&#xff08;Browser/Server&#xff0c;浏览器/服务器模式&#xff09;也称 B/S 结构&#xff0c;是 WEB 兴起后的一种网络结构模式。B/S 模式是由最开始的 C/S&#xff08;Client/Server&#xff0c;客户机/服务…