[题目] Section 1.2 Milking Cows(USACO)
来源:互联网 发布:算法复杂性影响因素 编辑:程序博客网 时间:2024/06/07 10:44
[题意]给出N组挤牛奶的开始时间和结束时间,求有人挤牛奶和没人挤牛的最长时长。
[思路]尝试了一种“记忆”的方法,避免了复杂的判断。思路是用数组a[]标记有人挤的时间点,b[]标记没人挤的时间点。也就是说这两个数组的01情况正好相反。如果当前已被标记那么a[i]+=a[i-1],b[i]+=b[i-1]。然后遍历这两个数组分别找出最大值,这两个最大值就是答案。
[代码]
#include<iostream>#include<cmath>#include<cstdio>using namespace std;int a[1000001],b[1000001];int main(){ int n,be,en; while(cin>>n){ int END=0,BEG=1000001; int maxa=-1,maxb=-1; while(n--){ cin>>be>>en; END=max(END,en); BEG=min(BEG,be); for(en-=1;en>=be;en--) a[en]=1; } for(int i=BEG;i<END;i++){ if(!a[i]) b[i]=1; if(a[i]) a[i]+=a[i-1]; if(b[i]) b[i]+=b[i-1]; maxa=max(maxa,a[i]); maxb=max(maxb,b[i]); } cout<<maxa<<' '<<maxb<<endl; }}
0 0
- [题目] Section 1.2 Milking Cows(USACO)
- USACO Section 1.2 Milking Cows
- USACO Section 1.2 Milking Cows
- USACO Section 1.2 Milking Cows
- USACO section 1.2.1 Milking Cows
- USACO Section 1.2.2 Milking Cows
- USACO Section 1.2.1 Milking Cows
- USACO-Section 1.2 Milking Cows【贪心算法】
- USACO-Section 1.2 Milking Cows[数组模拟]
- Section 1.2 Milking Cows
- Section 1.2 Milking Cows
- Section 1.2 Milking Cows
- USACO 1.2-Milking Cows
- usaco 1.2:Milking Cows
- USACO 1.2 Milking Cows
- USACO--1.2 Milking Cows
- USACO 1.2 Milking Cows
- USACO 1.2-Milking Cows
- Distinct Subsequences leetcode
- Cocos2dx 利用ClippingNode 做遮罩
- sizeof计算二维数组长度的问题
- bzoj 1726: [Usaco2006 Nov]Roadblocks第二短路
- B树索引
- [题目] Section 1.2 Milking Cows(USACO)
- 是什么影响了你的速度?802.11g
- KMP
- bzoj 1029: [JSOI2007]建筑抢修
- java 字节流与字符流的区别
- JavaScript语言核心(一)——类型、变量和值
- Ubuntu 下安装hadoop
- TCP/IP详解--TIME_WAIT状态存在的原因
- [题目] Section 1.2 Palindromic Squares