洛谷 P1589 泥泞路
题目描述
暴雨过后,FJ的农场到镇上的公路上有一些泥泞路,他有若干块长度为L的木板可以铺在这些泥泞路上,问他至少需要多少块木板,才能把所有的泥泞路覆盖住。
输入输出格式
输入格式:
第一行为正整数n(≤10000)和L(≤10000),分别表示有多少段泥泞路和木板的长度;接下来n行,每一行两个整数s和e(s≤e≤10^9),表示每一段泥泞路的起点和终点。
输出格式:
仅一个正整数,表示木板数。
输入输出样例
3 3
1 6
13 17
8 12
解题思路:
一道模拟题,我们用结构体来存所有泥泞路段的左端点和右端点.先按左端点从小到大排序,从左到右处理,处理每一段泥泞路时,计算当前需多少木板,再向后处理区间重叠情况即可.
AC代码:
#include<iostream>
#include<cstdio>
#include<algorithm> using namespace std; int n,l,ans;
struct kkk {
int s,e;
bool vis;
}e[]; bool cmp(kkk a,kkk b) {
return a.s < b.s;
} int main() {
// freopen("cover.in","r",stdin);
// freopen("cover.out","w",stdout);
scanf("%d%d",&n,&l);
for(int i = ;i <= n; i++) {
scanf("%d%d",&e[i].s,&e[i].e);
e[i].vis = ;
}
sort(e+,e++n,cmp);
for(int i = ;i <= n; i++) {
if(e[i].s <= e[i-].e) {
e[i-].vis = ;
e[i].s = e[i-].s;
}
}
for(int i = ;i <= n; i++) {
if(!e[i].vis) {
int len = e[i].e - e[i].s;
if(len % l == ) {
ans += len / l;//计算当前区间需木板数
int u = e[i].e - ; //以下为处理重叠区间
for(int j = i + ;j <= n; j++) {
if(u < e[j].s) break;
if(u >= e[j].e) {
e[j].vis = ;
continue;
}
if(u >= e[j].s) e[j].s = u + ;
}
}
else {
ans += (len / l) + ;
int u = e[i].s + (len / l + ) * l - ;
for(int j = i + ;j <= n; j++) {
if(u < e[j].s) break;
if(u >= e[j].e) {
e[j].vis = ;
continue;
}
if(u >= e[j].s) e[j].s = u + ;
}
}
}
}
cout << ans;
return ;
}
洛谷 P1589 泥泞路的更多相关文章
- 洛谷——P1589 泥泞路
		
P1589 泥泞路 题目描述 暴雨过后,FJ的农场到镇上的公路上有一些泥泞路,他有若干块长度为L的木板可以铺在这些泥泞路上,问他至少需要多少块木板,才能把所有的泥泞路覆盖住. 输入输出格式 输入格式: ...
 - 洛谷 P1589 泥泞路 & 2019青岛市竞赛(贪心)
		
题目链接 https://www.luogu.org/problemnew/show/P1589 解题思路 用结构体存下每一段泥泞路的左端点和右端点,然后用sort根据左端点排序,采用贪心的思想,从左 ...
 - 洛谷P1613 跑路
		
P1613 跑路 176通过 539提交 题目提供者该用户不存在 标签倍增动态规划 难度普及+/提高 提交该题 讨论 题解 记录 最新讨论 这个题的数据.. 题意问题 表意 题目描述 小A的工作不仅繁 ...
 - 洛谷P2770 双路DP // 网络流
		
https://www.luogu.org/problemnew/show/P2770 第一眼看过去,觉得这不是一个经典的双路DP模型吗,将一条过去一条回来互不相交的路径看作是起点出发了两条路径一起走 ...
 - 洛谷 P1613 跑路 解题报告
		
P1613 跑路 题目描述 小\(A\)的工作不仅繁琐,更有苛刻的规定,要求小\(A\)每天早上在\(6:00\)之前到达公司,否则这个月工资清零.可是小\(A\)偏偏又有赖床的坏毛病.于是为了保住自 ...
 - 洛谷P1613 跑路(最短路+倍增)
		
P1613 跑路 题目描述 小A的工作不仅繁琐,更有苛刻的规定,要求小A每天早上在6:00之前到达公司,否则这个月工资清零.可是小A偏偏又有赖床的坏毛病.于是为了保住自己的工资,小A买了一个十分牛B的 ...
 - 洛谷——P1613 跑路
		
P1613 跑路 题目大意: 小A的工作不仅繁琐,更有苛刻的规定,要求小A每天早上在6:00之前到达公司,否则这个月工资清零.可是小A偏偏又有赖床的坏毛病.于是为了保住自己的工资,小A买了一个十分牛B ...
 - 洛谷 P1613 跑路 题解
		
P1613 跑路 题目描述 小A的工作不仅繁琐,更有苛刻的规定,要求小A每天早上在6:00之前到达公司,否则这个月工资清零.可是小A偏偏又有赖床的坏毛病.于是为了保住自己的工资,小A买了一个十分牛B的 ...
 - 洛谷 P1613 跑路 (倍增 + DP + 最短路)
		
题目链接:P1613 跑路 题意 给定包含 \(n\) 个点和 \(m\) 条边的有向图,每条边的长度为 \(1\) 千米.每秒钟可以跑 \(2^k\) 千米,问从点 \(1\) 到点 \(n\) 最 ...
 
随机推荐
- Codeforces 486E LIS of Sequence(线段树+LIS)
			
题目链接:Codeforces 486E LIS of Sequence 题目大意:给定一个数组.如今要确定每一个位置上的数属于哪一种类型. 解题思路:先求出每一个位置选的情况下的最长LIS,由于開始 ...
 - Express:模板引擎深入研究
			
深入源码 首先,看下express模板默认配置. view:模板引擎模块,对应 require('./view'),结合 res.render(name) 更好了解些.下面会看下 view 模块. v ...
 - Linq To Sql进阶系列(六)用object的动态查询与保存log篇
			
动态的生成sql语句,根据不同的条件构造不同的where字句,是拼接sql 字符串的好处.而Linq的推出,是为了弥补编程中的 Data != Object 的问题.我们又该如何实现用object的动 ...
 - Java 复杂excel报表导出
			
MyExcel,是一个可直接使用Html文件,或者使用内置的Freemarker.Groovy.Beetl等模板引擎Excel构建器生成的Html文件,以Html文件中的Table作为Excel模板来 ...
 - CSS3 弹性盒子(Flex Box)  微信小程序图片通栏
			
{{define "chkUrl"}} <!DOCTYPE html><html lang="zh-cmn-Hans"><head ...
 - C# delegate Action<T> lambda表达式
			
转载以记录:http://blog.csdn.net/educast/article/details/7219854 在使用 Action<T> 委托时,不必显式定义一个封装只有一个参数的 ...
 - MAC Safari上网弹窗弹广告的最新有效解决方法
			
7.3更新: 之前更改DNS好了一段时间,最近在打开其它网页时还是会弹广告: 最终解决方法: 安装MALWAREBYTES 3清理一下: 网址:Free Cyber Security & An ...
 - bfs 邻接表
			
#include<stdio.h> #include<stdlib.h> #include<string.h> struct node { int date; st ...
 - jconsole工具检测堆内存变化的使用
			
jconsole将Java写的程序检测. 从Java 5开始 引入了 JConsole.JConsole 是一个内置 Java 性能分析器,可以从命令行或在 GUI shell 中运行.您可以轻松地使 ...
 - 前端如何展示商品属性:SKU多维属性状态判断算法的应用-Vue 实现
			
由于公司开发了一个电商项目,涉及到前台商品属性的展示,所以百度上找了一下!找到了 周琪力写的一个算法例子,因为作者只有jQuery 实现demo, 自己仿照 demo 实现了一个 vue 的! 周琪力 ...