【USACO题库】1.2.1 Milking Cows挤牛奶

简介: 【USACO题库】1.2.1 Milking Cows挤牛奶

   一开始认为过不了,后来交就AC了。

1007. 【USACO题库】1.2.1 Milking Cows挤牛奶
(File IO): input:milk.in output:milk.out

题目描述

三个农民每天清晨5点起床,然后去牛棚给3头牛挤奶。第一个农民在300时刻(从5点开始计时,秒为单位)给他的牛挤奶,一直到1000时刻。第二个农民在700时刻开始,在 1200时刻结束。第三个农民在1500时刻开始2100时刻结束。期间最长的至少有一个农民在挤奶的连续时间为900秒(从300时刻到1200时刻),而最长的无人挤奶的连续时间(从挤奶开始一直到挤奶结束)为300秒(从1200时刻到1500时刻)。

你的任务是编一个程序,读入一个有N个农民(1 <= N <= 5000)挤N头牛的工作时间列表,计算以下两点(均以秒为单位):

最长至少有一人在挤奶的时间段。

最长的无人挤奶的时间段。

输入

第一行一个整数N。

接下来N+1行,每行两个小于1000000的非负整数,表示一个农民的开始时刻与结束时刻。

输出

一行,两个整数,即题目所要求的两个答案。

样例输入

3

300 1000

700 1200

1500 2100

样例输出

900 300


先来看道题:

马路旁的树

 

题目描述

某学校有一条“春秋大道”,其道路两旁对称地栽有树木。现在为了保证整体的美观,需要移除其中的一些树。因此有必要统计,在移除一些树木之后,春秋大道上还有多少棵树。

为了简化问题,把春秋大道想象成一条数轴,数轴坐标为1 ~ n。

尚未进行移除操作时,每个坐标点上有两棵树。

给一次移除操作(x y),将会把[x,y]区间上所有的树移除。

最终需要统计,在所有移除操作完成以后,还剩有多少棵树。

输入

第一行为一个整数n( 1<= n <= 1000 )。

第二行为一个整数k( 1<= k <= 100),代表移除操作的个数。

下面k行,每行有两个整数x,y ( 1 <= x < =y <= n),中间有一个空格分隔开,代表把[x,y]区间上的所有树移除。

输出

输出所有移除操作完成之后,道路两旁还剩树的数目总数。

注意:是道路两旁!

样例输入

5

2

1 3

4 5

样例输出

0

这两道题,有异曲同工之妙。

思路:

只需要一个a数组, 比如说:100~200 那么a[100]~a[199]都标记为1,其余为零, 以此类推,当所有的时间都标记完了之后,我们就可以开始统计了。(标记法)

代码如下:

#include<bits/stdc++.h>
using namespace std; 
const int maxn=1000010; 
bool a[maxn]; int t=0; 
int n,ans1=0,ans2=0; int x,y;
int maxx=0,minx=maxn; 
int main() 
{ 
  freopen("milk.in","r",stdin);
  freopen("milk.out","w",stdout);
  scanf("%d",&n); 
  for(int i=1;i<=n;i++)
  { 
      scanf("%d",&x); 
    scanf("%d",&y); 
    minx=min(x,minx); 
    maxx=max(y,maxx); 
    for(int j=x;j<y;i++) a[j]=1; 
  }
  int p=minx; 
  int q=maxx; 
  for(int i=p;i<=q;i++) 
  { 
    if(a[i]==1) t++; 
    else
    {
      ans1=max(ans1,t);
      t=0; 
    }
  } 
  for(int i=p;i<=q;i++) 
  { 
    if(a[i]==0)t++; 
    else 
    { 
      ans2=max(ans2,t); 
      t=0; 
    }  
  } 
  cout<<ans1<<" "<<ans2<<endl;
}

image.gif


相关文章
|
算法
数据结构之路由表查找算法(深度优先搜索和宽度优先搜索)
在网络通信中,路由表用于指导数据包的传输路径。本文介绍了两种常用的路由表查找算法——深度优先算法(DFS)和宽度优先算法(BFS)。DFS使用栈实现,适合路径问题;BFS使用队列,保证找到最短路径。两者均能有效查找路由信息,但适用场景不同,需根据具体需求选择。文中还提供了这两种算法的核心代码及测试结果,验证了算法的有效性。
498 23
|
数据采集 安全 大数据
http代理一般受众于哪些人群?
HTTP代理主要适用于三类人群:数据采集专业人士,如网络爬虫开发者;网络兼职者,例如游戏试玩、电商优化者,利用代理IP提高工作效率;以及网络推广者,借助代理发布广告帖子以提升品牌知名度。代理提供安全、效率和稳定性支持。
167 3
http代理一般受众于哪些人群?
|
弹性计算 容灾 安全
手把手教你如何购买阿里云服务器(新手用户教程)
手把手教你如何购买阿里云服务器(新手用户教程) ,阿里云百科来详细说下这两种方式购买云服务器的流程,购买活动机价格便宜,只是可选配置较为固定,就那么几款,简单选择地域节点即可;自定义购买选择范围广,选项配置也会比较复杂,当然价格会稍微贵一些。
2426 0
手把手教你如何购买阿里云服务器(新手用户教程)
|
算法 前端开发 C++
拓扑排序详解(包含算法原理图解、算法实现过程详解、算法例题变式全面讲解等)
拓扑排序详解(包含算法原理图解、算法实现过程详解、算法例题变式全面讲解等)
3025 0
|
存储 算法 调度
【喜闻乐见,包教包会】二分图最大匹配:匈牙利算法(洛谷P3386)
【喜闻乐见,包教包会】二分图最大匹配:匈牙利算法(洛谷P3386)
223 0
|
机器学习/深度学习 算法 定位技术
BFS经典例题详解
BFS经典例题详解
218 0
|
算法 C++
dfs经典例题(故事中的题解)
dfs经典例题(故事中的题解)
359 0
|
Java 应用服务中间件 Maven
SpringBoot启动报错:Failed to introspect Class [XXX] from ClassLoader解决办法
SpringBoot启动报错:Failed to introspect Class [XXX] from ClassLoader解决办法
3645 0
SpringBoot启动报错:Failed to introspect Class [XXX] from ClassLoader解决办法
|
算法
数据结构上机实践第八周项目9-广义表算法库及应用
数据结构上机实践第八周项目9-广义表算法库及应用
248 0
数据结构上机实践第八周项目9-广义表算法库及应用
|
SQL 存储 资源调度
Presto - 简介(二)
Presto - 简介(二)
460 0