小sun的假期【牛客】
链接:https://ac.nowcoder.com/acm/contest/1085/A
来源:牛客网
应肖老师要求前来更新水一水
题目描述
输入描述:
第一行两个数n,m,代表总共有n天,m个安排。 接下来有m行,每行是一个安排l,r,代表从第l天到第r天,小sun有安排了。 安排可能会重复。
输出描述:
输出一行,在这个安排表中,小sun最大的快乐值。
备注:
n≤1e9,m≤1e5n\leq 1e9, m\leq 1e5n≤1e9,m≤1e5
1≤l,r≤n1 \leq l,r\leq n1≤l,r≤n
在一条长为n的数轴上,用m个区间覆盖这条数轴,问最长未被覆盖的数轴长度。
思路:
线段树的染色法肯定是暴毙的,由此想到暴力动动小脑瓜。
首先我们对m个区间的左端点进行排序,然后惊讶地发现只要从左到右更新最远的右端点并对未被覆盖的区间长度进行更新即可。

#include <iostream>
#include <cstdio>
#include <algorithm>
#include <cstring> using namespace std;
const int maxn = 1e5+; struct node{
int l,r;
}a[maxn]; bool cmp(node a,node b)
{
/*if(a.l==b.l)
return a.r>b.r;
*/
return a.l<b.l;
} int main()
{
int ans=;
int lf=,rt=;
int n,m;
scanf("%d%d",&n,&m);
for(int i=;i<=m;i++)
{
scanf("%d %d",&a[i].l,&a[i].r);
} sort(a+,a+m+,cmp);
/*for(int i=1;i<=m;i++)
printf("l:%d r:%d\n",a[i].l,a[i].r);*/
ans=(a[].l-);
//printf("a:%d\n",ans);
rt=a[].r;
for(int i=;i<=m;i++)
{
if(a[i].l>rt)
{
ans=max(ans,a[i].l-rt);
rt=a[i].r;
}
else
{
if(a[i].r>rt)
{
rt=a[i].r;
}
continue;
}
}
ans=max(ans,n-rt);
printf("%d\n",ans);
return ;
}
方法二:
肖老师说的pair
#include <iostream>
#include <cstdio>
#include <algorithm>
#include <cstring>
#include <set>
#include <ext/pb_ds/assoc_container.hpp>
using namespace std;
const int maxn = 1e5+; set< pair <int,int> > s; int main()
{
int ans=;
int rt=;
int n,m;
scanf("%d%d",&n,&m);
int l,r;
for(int i=;i<=m;i++)
{
scanf("%d %d",&l,&r);
s.emplace(l,r);
}
for(auto i : s)
{
if(i.first>rt)
{
ans=max(ans,i.first-rt);
rt=i.second;
}
else
{
if(i.second>rt)
{
rt=i.second;
}
continue;
}
}
ans=max(ans,n-rt);
printf("%d\n",ans); return ;
}
本质上是一样的东西,set+emplace跑的并没有更快?
小sun的假期【牛客】的更多相关文章
- 牛客小白月赛17 A 小sun的假期
传送门 题意: 第一行两个数n,m,代表总共有n天,m个安排.接下来有m行,每行是一个安排l,r,代表从第l天到第r天,小sun有安排了.安排可能会重复. 小 sun 非常喜欢放假,尤其是那种连在一起 ...
- 第k小团+bitset优化——牛客多校第2场D
模拟bfs,以空团为起点,用堆维护当前最小的团,然后进行加点更新 在加入新点时要注意判重,并且用bitset来加速判断和转移构造 #include<bits/stdc++.h> #incl ...
- 牛客跨年AK场-小sum的假期安排
链接:https://ac.nowcoder.com/acm/contest/3800/G来源:牛客网 题目描述 小 sun 非常喜欢放假,尤其是那种连在一起的长假,在放假的时候小 sun 会感到快乐 ...
- 牛客小白月赛13 小A买彩票 (记忆化搜索)
链接:https://ac.nowcoder.com/acm/contest/549/C来源:牛客网 时间限制:C/C++ 1秒,其他语言2秒 空间限制:C/C++ 262144K,其他语言52428 ...
- 牛客小白月赛13-J小A的数学题 (莫比乌斯反演)
链接:https://ac.nowcoder.com/acm/contest/549/J来源:牛客网 题目描述 小A最近开始研究数论题了,这一次他随手写出来一个式子,∑ni=1∑mj=1gcd(i,j ...
- 牛客OI周赛7-提高组 A 小睿睿的等式
链接:https://ac.nowcoder.com/acm/contest/371/A来源:牛客网 小睿睿在游戏开始时有n根火柴棒,他想知道能摆成形如“A+B=n”的等式且使用的火柴棒数也恰好等于n ...
- 牛客小白月赛13 小A的柱状图(单调栈)
链接:https://ac.nowcoder.com/acm/contest/549/H来源:牛客网 题目描述 柱状图是有一些宽度相等的矩形下端对齐以后横向排列的图形,但是小A的柱状图却不是一个规范的 ...
- 牛客小白月赛13 小A的回文串(Manacher)
链接:https://ac.nowcoder.com/acm/contest/549/B来源:牛客网 题目描述 小A非常喜欢回文串,当然我们都知道回文串这种情况是非常特殊的.所以小A只想知道给定的一个 ...
- 牛客小白月赛13 小A的最短路(lca+RMQ)
链接:https://ac.nowcoder.com/acm/contest/549/F来源:牛客网 题目描述 小A这次来到一个景区去旅游,景区里面有N个景点,景点之间有N-1条路径.小A从当前的一个 ...
随机推荐
- [dubbo 源码之 ]1. 服务提供方如何发布服务
服务发布 启动流程 1.ServiceConfig#export 服务提供方在启动部署时,dubbo会调用ServiceConfig#export来激活服务发布流程,如下所示: Java API: ` ...
- iOS异常采用处理方式
iOS开发过程中我们经常会遇到异常问题 对异常的处理一般采用打印或者直接抛出.这样可以很方便我们调试过程有所参考,而且方便我们查看异常产生的位置信息 NSError(错误信息) 采用NSError的情 ...
- 【POJ - 2533】Longest Ordered Subsequence (最长上升子序列 简单dp)
Longest Ordered Subsequence 搬中文 Descriptions: 给出一个序列,求出这个序列的最长上升子序列. 序列A的上升子序列B定义如下: B为A的子序列 B为严格递增序 ...
- PVE裸机虚拟化环境安装之后的一些部署记录
pve镜像使用的是proxmox-ve_6.1-1 安装之后root登录 apt update 更新源的时候会出现一些问题,是因为其中有一个企业源报错的原因 安装sudo和vim,否则不好管理非roo ...
- 阿里云服务器Web Deploy配置和使用Visual Studio进行Web项目发布部署遇到的坑
阿里云的服务器一直闲着,烧着银子,当初花几千大洋开通,本想弄信息化的项目为所帮扶的贫困户脱贫助手,不想势单力薄,一直没有找到好的项目.最近大家都在众志成城抗击新肺疫情,于是又想能不能尽点自己的力量,于 ...
- 如何阻止a标签跳转
<a href="www.baidu.com">百度</a> 上面为我们的a标签,要想阻止它进行跳转我们该怎么办呢? 当然我们有以下的几种办法_______ ...
- viewpage+RadioButton+Fragment简单导航界面
https://blog.csdn.net/qibanxuehua/article/details/47333879
- 小白的linux笔记7:批量运行复杂的linux命令组合——BASH简单使用法
linux的BASH就相当于windows下的BAT文件,可以批处理命令.比如写好一个python脚本后,需要在运行时候加参数,但这个参数又不想每次输入,就可以用BASH的方式写好整条命令,然后直接运 ...
- 如何把已有的本地git仓库,推送到远程新的仓库(github private)并进行远程开发;
最近因为疫情,在家干活,连接不上之前的gitlab 服务器:所以不得把现有的代码迁移到github 的私有仓库来进行开发:下面简要记录迁移的过程: 首先,确保你已经配置好本地访问远程私有仓库的所有权限 ...
- beego框架之orm模块——mysql
参考beego原文:http://beego.me/docs/mvc/model/orm.md#main.go beego ORM 是一个强大的 Go 语言 ORM 框架,orm模块主要是处理MVC中 ...