洛谷 P1589 泥泞路 & 2019青岛市竞赛(贪心)
2024-10-07 12:06:45
题目链接
https://www.luogu.org/problemnew/show/P1589
解题思路
用结构体存下每一段泥泞路的左端点和右端点,然后用sort根据左端点排序,采用贪心的思想,从左往右遇到未覆盖的点ans++,然后去覆盖l的长度,这时现在覆盖到的位置就是max(下一段区间的左端点,当前覆盖到的位置)。注意每一个泥泞路段是一个区间,例如【2,5】实际上就是三个单位长度,它具有四个端点,我们记录的是单位长度,所以while里面的是<而不是<=。
AC代码
#include<iostream>
#include<algorithm>
using namespace std;
int n,l,ans;
struct ee{
int e,s;
}a[];
bool cmp(ee a,ee b){
return a.s<b.s;
}
int main(){
cin>>n>>l;
for(int i=;i<=n;i++) cin>>a[i].s>>a[i].e;
sort(a+,a+n+,cmp);
int d=a[].s;
for(int i=;i<=n;i++){
while(d<a[i].e){
d+=l;
ans++;
}
d=max(d,a[i+].s);
}
cout<<ans;
return ;
}
最新文章
- JS操作cookie
- 汇编、c语言、c++的一些想法。
- C#基础---IComparable用法,实现List<;T>;.sort()排序
- 多线程之NSOperation和NSOperationQueue
- 大数据量的csv文件如何导入到 sql 数据库
- linux网络故障解决方法
- MyEclipse +Servlet 乱码
- Hadoop安装教程_单机/伪分布式配置_Hadoop2.6.0/Ubuntu14.04
- [Bhatia.Matrix Analysis.Solutions to Exercises and Problems]ExI.2.3
- (转载)Flash Number 数据类型
- 【转自CSDN】深入 Microsoft.VisualBasic.Strings.StrConv 簡繁轉換
- C++快速排序实现(quicksort)
- 【转】基于RSA算法实现软件注册码原理初讨
- CareerCup chapter 1 Arrays and Strings
- DNS 本质
- JZ2440存储管理器--SDRAM
- Unity日记—对象缓存池
- json格式化
- openerp学习笔记 视图样式(表格行颜色、按钮,字段只读、隐藏,按钮状态、类型、图标、权限,group边距,聚合[合计、平均],样式)
- 使用java开发微信公众平台(1)