【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


相关文章
|
2月前
|
算法
AcWing 1343. 挤牛奶(每日一题)
AcWing 1343. 挤牛奶(每日一题)
|
2月前
|
算法
AcWing 1355. 母亲的牛奶(每日一题)
AcWing 1355. 母亲的牛奶(每日一题)
|
7月前
洛谷P1204 or SSL-1088 USACO 1.2 挤牛奶
洛谷P1204 or SSL-1088 USACO 1.2 挤牛奶
luogu P1516 青蛙的约会
luogu P1516 青蛙的约会
76 0
PTA 1092 最好吃的月饼
月饼是久负盛名的中国传统糕点之一,自唐朝以来,已经发展出几百品种。
117 0
|
存储
【LeetCode】这儿童节的糖不好吃啊
【LeetCode】这儿童节的糖不好吃啊
146 0
【LeetCode】这儿童节的糖不好吃啊
|
存储 测试技术
|
机器学习/深度学习
洛谷 P2742 [USACO5.1]圈奶牛Fencing the Cows
题目描述 农夫约翰想要建造一个围栏用来围住他的奶牛,可是他资金匮乏。他建造的围栏必须包括他的奶牛喜欢吃草的所有地点。对于给出的这些地点的坐标,计算最短的能够围住这些点的围栏的长度。 输入输出格式 输入格式:   输入数据的第一行包括一个整数 N。N(0
1000 0
[唐诗]190襄阳歌-李白
襄阳歌-李白 落日欲没岘山西, 倒著接蓠花下迷。 襄阳小儿齐拍手, 拦街争唱白铜鞮。 旁人借问笑何事, 笑杀山翁醉似泥。 鸬鹚杓,鹦鹉杯。 百年三万六千日, 一日须倾三百杯。 遥看汉水鸭头绿, 恰似葡萄初酦醅。
1158 0
[唐诗]189长相思-李白
长相思-李白 长相思,在长安。 络纬秋啼金井阑, 微霜凄凄簟色寒。 孤灯不明思欲绝, 卷帷望月空长叹。 美人如花隔云端。 上有青冥之高天, 下有渌水之波澜。 天长路远魂飞苦, 梦魂不到关山难。 长相思,摧心肝。
1223 0