USACO Milking Cows
来源:互联网 发布:超级大乐透数学算法 编辑:程序博客网 时间:2024/05/16 12:34
【题意】给N个喂养奶牛的开始时间和结束时间,求最长的喂养时间段和最长的没有喂养的时间段
【分析】
没啥好分析的......
对于每个[l,r],是指喂养从l到r-1的时间,这是最关键的,不过题意比较模糊啊。
知道了就好办了,直接求连续的就是了。
模拟,主要要求编程能力高,也就是细节的把握。
在求连续的时候,有两种写法,一种是每循环一次求出一段,另一种是循环长度次每次分别求,两种都可以写。
【代码】
/*
ID:y2007031
PROG:milk2
LANG:C++
*/
#include <cstdio>
#include <cstring>
#include <cstdlib>
using namespace std;
int n,rtst,ltst=1000001;
int v[1000001],rept,rhas;
int max(int i,int j)
{
return i>j?i:j;
}
int min(int i,int j)
{
return i<j?i:j;
}
int main(void)
{
int x,y;
scanf("%d",&n);
for (;n--;)
{
scanf("%d%d",&x,&y);
ltst=min(ltst,x);
rtst=max(rtst,y);
for (int i=x;i<y;i++) v[i]++;
}
int has=0,empty=0;
for (int i=ltst;i<rtst;i++)
{
if (v[i])
{
has++;
rhas=max(rhas,has);
}
else has=0;
if (!v[i])
{
empty++;
rept=max(rept,empty);
}
else empty=0;
}
printf("%d %d\n",rhas,rept);
return 0;
}
【总结】
①对于题意的把握,从哪一刻到哪一刻是要先明白的
②实现连续段的两种方法,一种在循环里面求,第二种在循环求
- Milking Cows(USACO)
- USACO 1.2-Milking Cows
- usaco 1.2:Milking Cows
- [USACO] Milking Cows
- usaco Milking Cows
- USACO 1.2 Milking Cows
- [USACO]Milking Cows
- usaco Milking Cows 报告
- usaco:Milking Cows
- USACO-Milking Cows
- USACO--1.2 Milking Cows
- USACO 1.2 Milking Cows
- USACO Milking Cows
- USACO Milking Cows
- USACO Milking Cows(模拟)
- USACO Milking Cows(greedy)
- USACO 1.1 Milking Cows
- USACO milking cows
- POJ 1006 Biorhythms
- POJ 1007 DNA Sorting
- 标签说明
- POJ 1008 Maya Calendar
- 中国剩余定理
- USACO Milking Cows
- 文本文件与二进制文件
- tomcat如何配置环境变量
- USACO Transformations
- 第一次
- USACO Name That Number
- Spring事务管理
- USACO Palindromic Squares
- USACO Dual Palindromes