1.区间选点和最大不相交区间数量【妙啊】

#include <bits/stdc++.h>using namespace std;
const int N=100010;
int n;
struct Range
{int l,r;bool operator<(const Range &W) const//结构体内重载{return r<W.r;}
}range[N];
int main()
{scanf("%d",&n);for(int i=0;i<n;i++) scanf("%d%d",&range[i].l,&range[i].r);sort(range,range+n);int res=0,ed=-2e9;//ed记录当前选中区间的右端点for(int i=0;i<n;i++)if(range[i].l>ed){res++;ed=range[i].r;}printf("%d\n",res);return 0;
}

2.区间分组

#include <bits/stdc++.h>using namespace std;
const int N=100010;
int n;
struct Range
{int l,r;bool operator <(const Range &W) const{return l<W.l;}
}range[N];
int main()
{scanf("%d",&n);for(int i=0;i<n;i++){int l,r;scanf("%d%d",&l,&r);range[i]={l,r};}sort(range,range +n);priority_queue<int, vector<int>,greater<int> >heap;//小根堆==优先队列for(int i=0;i<n;i++){auto r=range[i];if(heap.empty()||heap.top()>=r.l) heap.push(r.r);else{heap.pop();heap.push(r.r);}}printf("%d\n",heap.size());return 0;
}

3.区间覆盖

#include <bits/stdc++.h>using namespace std;
const int N=100010;
int n;
struct Range
{int l,r;bool operator<(const Range &W)const{return l<W.l;}
}range[N];
int main()
{int st,ed;scanf("%d%d",&st,&ed);scanf("%d",&n);for(int i=0;i<n;i++){int l,r;scanf("%d%d",&l,&r);range[i]={l,r};}sort(range,range+n);int res=0;bool success=false;for(int i=0;i<n;i++){int j=i,r=-2e9;while(j<n&&range[j].l<=st){r=max(r,range[j].r);j++;}if(r<st){success=false;break;}res++;if(r>=ed){success=true;break;}st=r;i=j-1;}if(!success) res=-1;printf("%d\n",res);return 0;
}

4.112.雷达设备

#include <bits/stdc++.h>using namespace std;
const int N=1010;
int n,d;
struct Segment
{double l,r;//按照区间右端点排序bool operator<(const Segment& t) const{return r<t.r;}
}seg[N];
int main()
{scanf("%d%d",&n,&d);bool failed=false;for(int i=0;i<n;i++){int x,y;scanf("%d%d",&x,&y);if(y>d) failed=true;else{double len=sqrt(d*d-y*y);seg[i]={x-len,x+len};}}if(failed) puts("-1");else{sort(seg,seg+n);//按照区间右端点排序int cnt=0;double last=-1e20;for(int i=0;i<n;i++)if(last<seg[i].l){cnt++;last=seg[i].r;}printf("%d\n",cnt);}return 0;
}

模板题——贪心(1)相关推荐

  1. 个人算法题精简导航整理(精炼汇总,含知识点、模板题、题单)

    文章目录 前言 导航 注意事项 技巧类 自定义Pair 排序 N维数组转一维 位运算 状态压缩 算法基础 枚举 √ 指数型枚举 排列型枚举 组合型枚举 左右区间枚举 模拟 √ 日期天数问题:平年闰年情 ...

  2. 图论-有向图的连通性模板题(hdu1296)(hdu1827)

    1.强连通分量: 强连通分量可以理解为边数最少的情况下是一个环. 这里写了一个模板题用的是tarjan算法,当然还有其他算法. tarjan算法的关键其实还是对于num数组和low数组的使用 然后可以 ...

  3. P1339 热浪 最短路径模板题

    这么naive的题面一看就是最短路模板题~~~ ok.首先是floyd算法,tts,记得把k放在最外面就行了. 1 #include <cstdio> 2 #include <cst ...

  4. HDU2255 奔小康赚大钱(km模板题)

    Description 传说在遥远的地方有一个非常富裕的村落,有一天,村长决定进行制度改革:重新分配房子.         这可是一件大事,关系到人民的住房问题啊.村里共有n间房间,刚好有n家老百姓, ...

  5. HDU1166 敌兵布阵(树状数组模板题)

    敌兵布阵 Time Limit: 2000/1000 MS (Java/Others)    Memory Limit: 65536/32768 K (Java/Others) Total Submi ...

  6. 数单词 (AC自动机模板题)

    数单词 时间限制:1000 ms  |  内存限制:65535 KB 难度:4 描述 为了能够顺利通过英语四六级考试,现在大家每天早上都会早起读英语. LYH本来以为自己在6月份的考试中可以通过六级, ...

  7. CSP认证201509-4 高速公路[C++题解]:强连通分量、tarjan算法模板题

    题目分析 来源:acwing 分析: 所求即为强连通分量的个数,然后计算每个强连通分量中点的个数,相加即可. 所谓强连通分量,它是一个子图,其中任意两点可以相互到达,并且再加一个点,就不能满足任意两点 ...

  8. hdu 2191 悼念512汶川大地震遇难同胞 【多重背包】(模板题)

    题目链接:https://vjudge.net/problem/HDU-2191 悼念512汶川大地震遇难同胞--珍惜现在,感恩生活                                   ...

  9. NYOJ 1085 数单词 (AC自动机模板题)

    数单词 时间限制:1000 ms  |  内存限制:65535 KB 难度:4 描述 为了能够顺利通过英语四六级考试,现在大家每天早上都会早起读英语. LYH本来以为自己在6月份的考试中可以通过六级, ...

  10. luogu P4512 多项式除法 (模板题、FFT、多项式求逆)

    luogu P4512 多项式除法 (模板题.FFT.多项式求逆) 手动博客搬家: 本文发表于20181206 14:42:53, 原地址https://blog.csdn.net/suncongbo ...

最新文章

  1. 《连线》杂志:2015年六大安全威胁预测
  2. myecplise 添加svn插件
  3. CentOs6.5中安装和配置vsftp简明教程
  4. opencv读取手机摄像头
  5. 深度学习如何入门?怎么入门机器/深度学习?
  6. php nginx 域名重定向,Nginx默认虚拟主机、用户认证、域名重定向
  7. 倒序查10条数据_10 | 怎么给字符串字段加索引?
  8. win7系统笔记本电脑开机蓝屏怎么办
  9. 机械指挥官——全国领先的工程机械管理平台
  10. Apollo的学习笔记
  11. python 会计师事务所_Selenium爬取会计师事务所新闻信息——以中准会计师事务所为例...
  12. 漫网漫画APP源码包含后台完整版
  13. Excel模板免费分享(办公常用、甘特图、员工绩效考核等模板)
  14. iptables、firewalld和ufw区别linux
  15. python爬虫——中文编码
  16. 计算机中的打印机,如何添加打印机,教您电脑如何添加打印机
  17. bigdecimal不等于0怎么写_我不知道三打白骨精读后感怎么写才算正能量
  18. 安装Ubuntu 20.04后要做的几件事(换源,精简,定制)
  19. 抖音协议算法教- API学习
  20. 源表搭建光电器件LIV特性测试实验平台

热门文章

  1. 双非二本院校,北京211,字节跳动 → 一个新秀的六年
  2. 面试题:React中setState
  3. 矩阵运算_SLAM中用到的矩阵计算_基本公式及知识汇总
  4. C++_数据结构_堆用法详解
  5. 机器学习笔记——感知机理解(自行取用,并不一定适合每个人)
  6. NDCG、AUC介绍
  7. Cartographer+LOAM+ LIO-SAM核心算法与源码剖析(室内+室外)
  8. bzoj 1603 打谷机
  9. oracle 存储过程 示例
  10. BZOJ1022 [SHOI2008]小约翰的游戏John (博弈论)