【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;
}
【USACO题库】1.2.1 Milking Cows挤牛奶相关推荐
- Milking Cows 挤牛奶
1.2.1 Milking Cows 挤牛奶 Time Limit: 1 Sec Memory Limit: 64 MB Submit: 554 Solved: 108 [Submit][Stat ...
- [USACO 1.2.1] Milking Cows 挤牛奶
题目描述 三个农民每天清晨 5 点起床, 然后去牛棚给三头牛挤奶. 第一个农民在 300 秒 (从 5 点开始计时) 给他的牛挤奶, 一直到 1000 秒. 第二个农民在 700 秒开始, 在 120 ...
- 【USACO1.2_1】★Milking Cows 挤牛奶
三个农民每天清晨5 点起床,然后去牛棚给3 头牛挤奶.第一个农民在300 时刻(从5 点开始计时, 秒为单位)给他的牛挤奶,一直到1000 时刻.第二个农民在700 时刻开始,在 1200 时刻结束. ...
- 【USACO题库】3.4.4 Raucous Rockers“破锣摇滚”乐队 题解
[USACO题库]3.4.4 Raucous Rockers"破锣摇滚"乐队 题解 你刚刚继承了流行的"破锣摇滚"乐队录制的尚未发表的N(1 <= N ...
- 【USACO题库】1.4.2 The Clocks时钟.TJ
标题的简介: [USACO题库]1.4.2 The Clocks--Tj https://jzoj.net/junior/#contest/show/1232/11(下文题目描述还是原地址清楚) 考虑 ...
- 最简单的USACO,没有之一:【USACO题库】1.3.4 Prime Cryptarithm牛式
欢迎收看: 保障电脑安全 拒绝编译错误 DEV-C++题解 今天来看一个炒鸡简单的USACO,没有之一. 题目描述 下面是一个乘法竖式,如果用我们给定的那几个数字来取代*,可以使式子成立的话,我们就叫 ...
- 【USACO题库】 动态规划 汇总(普及-/普及)
数据结构提高是够用了=-=虽然树状数组没学 但是其他类问题只能打到普及 普及啊啊啊!!! 而且这边省选组都是什么仙人掌啊,什么系什么点对啊...感觉数据结构并没有什么用 (实际上很有用但我不会用就是了 ...
- 【USACO题库】3.2.4 Feed Ratios饲料调配
这一题,有许多的细节要注意一下!特别是循环中的判断!先看一下代码: #include<cstdio> using namespace std; int a[4][4]; int main( ...
- 【USACO题库】1.5.4 Checker Challenge跳棋的挑战
题目描述 检查一个如下的6 x 6的跳棋棋盘,有六个棋子被放置在棋盘上,使得每行,每列,每条对角线(包括两条主对角线的所有对角线)上都至多有一个棋子. 列号 1 2 3 4 5 6 --------- ...
最新文章
- 使用MaxCompute Java SDK 执行任务卡住了,怎么办?
- 使用母版页时内容页如何使用css和javascript
- smartClient 2--可视化组件
- 操作系统(四) | 经典进程的同步问题(生产者--消费者问题、哲学家进餐问题、读者--写者问题)
- android软件更新模块实现的技术和方法,Android APK签名原理及方法
- 一个关于clear()、吸收缓存区的帖子引发的思考
- Aupera:FPGA让视频编码与AI结合水到渠成
- CentOS 新增swap交换空间
- mybatis 自动生成integer_通过mybatis-generator-core工具自动关联表生成对应model、mappers及dao层代码类完整教程...
- web linux进程管理,详解Supervisor安装与配置(Linux/Unix进程管理工具)
- springboot json 嵌套_Java Bean Validation 2.0 (一): 对Spring Boot应用的数据验证
- Jade报错:Invalid indentation,you can use tabs or spaces but not both问题
- python pytz下载_使用 pytz 处理 Python 中的时区问题
- 人工智能并不像你想象的那么迫在眉睫
- JAVA定义一个树形的结构_Java自定义树形结构
- VisualSVN的下载与安装
- JAVA算法:给定两个整数 n 和 k,返回 1 ... n 中所有可能的 k 个数的组合(JAVA)
- 创业低谷期时怎么度过?
- 洛谷三月月赛——P5238 整数校验器
- PHP微信扫描登陆(模拟微信企业号平台登陆)
热门文章
- 良好的协同管理,是数字时代的成功前提
- python gui编程for mac_Python IDE 开发软件-PyCharm pro for Mac
- React-Native学习
- 公有云华为云——详细部署操作
- 思博伦STC WiFi:一个全能的WiFi测试方案
- VC苹果版:iPhone iOS下载安装《罪恶都市》侠盗飞车GTA的方法
- iOS开发icon图标设置
- 使用 Jquery AjaxUpload 上传图片
- 花生日记,购物省钱还能赚钱,淘宝天猫优惠券一网打尽!2018,你还打算将错就错继续做微商吗?...
- java就业率高吗_java好就业吗