USACO-Section1.3 Milking Cows (区间问题)
2017-5-30
题目描述
给你几个区间,求出最长的连续长度以及最短的连续长度
解答
最长为1000000,在区间内则赋值为1,否则不操作,最后计算出结果
即可,这种方法耗时比较长,注意区间的开闭问题
代码
/*
ID: 18795871
PROG: milk2
LANG: C++
*/
#include<iostream>
#include<fstream>
#include<cstring>
using namespace std;const int N = 1000000;
bool f[N+1];ifstream fin("milk2.in");
ofstream fout("milk2.out");void res(int a,int b){for (int i=a;i<b;i++) f[i]=true;
} int main()
{int i,n,a,b,ma=-N,mi=N;fin>>n;memset(f,false,sizeof(f));for (i=0;i<n;i++){fin>>a>>b;ma=max(a,ma);ma=max(ma,b);mi=min(a,mi);mi=min(mi,b);res(a,b);}int res1=-N,res2=-N,sum1,sum2;i=mi;while (i<ma){sum1=0;sum2=0;while (!f[i]&&i<=ma){sum1++;i++;}while (f[i]&&i<=ma){sum2++;i++;}res1=max(res1,sum1);res2=max(res2,sum2);}fout<<res2<<" "<<res1<<endl;return 0;
}
或者这么写…其实是一样一样的。
/*
ID: 18795871
PROG: milk2
LANG: C++
*/
#include<iostream>
#include<fstream>
#include<cstring>
using namespace std;ifstream fin("milk2.in");
ofstream fout("milk2.out");const int N = 1000000;
bool f[N+1];
int n;int main(){int i,j,e,s,mis,mae;while (fin>>n){mis=N;mae=0;memset(f,false,sizeof(f)); for (i=0;i<n;i++){fin>>s>>e;mis=min(mis,s);mae=max(mae,e);for (j=s;j<e;j++){f[j]=1;}}int l=0,h=1,r1=0,r2=0;for (i=mis+1;i<=mae;i++){if (f[i]==f[i-1]){if (f[i]) h++;else l++;}else{r1=max(r1,l);r2=max(r2,h); if (f[i]){l=0;h=1;}else{l=1;h=0;}}}fout<<r2<<" "<<r1<<endl;}return 0;
}
按理来说应该是可以按照开始时间排序然后求解的。
USACO-Section1.3 Milking Cows (区间问题)相关推荐
- USACO 1.2 Milking Cows (枚举)
标记数组(哈希) 1e6的范围,开一个char数组全然能够,有人为1,无人为0,注意边界就可以.最后线性扫描就可以. 时间复杂度,应该是O(n),n为最后结束的时间. 缺点就是--比較慢 /*ID:t ...
- 【USACO题库】1.2.1 Milking Cows挤牛奶
一开始认为过不了,后来交就AC了. 1007. [USACO题库]1.2.1 Milking Cows挤牛奶 (File IO): input:milk.in output:milk.out 题目描述 ...
- [USACO 1.2.1] Milking Cows
[题目描述] Milking Cows 挤牛奶 三个农民每天清晨5点起床,然后去牛棚给3头牛挤奶.第一个农民在300时刻(从5点开始计时,秒为单位)给他的牛挤奶,一直到1000时刻.第二个农民在700 ...
- Milking Cows 挤牛奶
1.2.1 Milking Cows 挤牛奶 Time Limit: 1 Sec Memory Limit: 64 MB Submit: 554 Solved: 108 [Submit][Stat ...
- 挤牛奶Milking Cows
挤牛奶Milking Cows 这道题问的是有一条线段覆盖的最大区间和没有线段覆盖的区间. 先按照起点排序,然后从第二条线段开始判断.如果该线段的起点小于上一线段终点,则说明这两条线 段有重合部分,将 ...
- USACO Training Section 1.2 挤牛奶Milking Cows
题目描述 三个农民每天清晨5点起床,然后去牛棚给3头牛挤奶.第一个农民在300秒(从5点开始计时)给他的牛挤奶,一直到1000秒.第二个农民在700秒开始,在 1200秒结束.第三个农民在1500秒开 ...
- [USACO 1.2.1] Milking Cows 挤牛奶
题目描述 三个农民每天清晨 5 点起床, 然后去牛棚给三头牛挤奶. 第一个农民在 300 秒 (从 5 点开始计时) 给他的牛挤奶, 一直到 1000 秒. 第二个农民在 700 秒开始, 在 120 ...
- USACO section1.3 Barn Repair 修理牛棚(贪心)
题目:http://www.wzoi.org/usaco/11%5C304.asp 大意:有m个点,用有数量限制的区间把这些点全部覆盖,求区间和的最小值. 贪心原理:如果限制的区间数大于等于m的话an ...
- Milking Cows UASCO
原题地址 Three farmers rise at 5 am each morning and head for the barn to milk three cows. The first far ...
最新文章
- python列表解析式_Python基础入门-列表解析式
- 60秒,我们可以干什么?
- Python 基础常用数据结构
- 当当网高可用架构之道--转
- CSS3--幽灵按钮特效(实例)
- python爬虫与数据分析实战27_Python网络爬虫与文本数据分析
- 【Python】Pandas 数据类型概述与转换实战
- 【Qt】第一个Qt程序
- LeetCode刷题(7)
- python猫狗大战pytorch_深度学习实战---猫狗大战(pytorch实现)
- java 应用监控系统_GitHub - jiangbin216/JavaMonitor: 一款适用于Java应用的在线性能监控系统(JM)...
- jszip 解压压缩包_JavaScript 实现的 zip 压缩和解压缩工具包Zip.js使用详解
- 2017第25届春季中西部(重庆)医疗器械展览会会刊(参展商名录)
- 【JMedia】诺贝尔奖得主:东亚教育浪费了太多生命
- 安卓怎么打开html游戏,安卓手机如何打开.xapk文件
- 在ios6中调用苹果地图用于导航 (地图开发)
- UEFI下的Gmac驱动实现
- 微星主板开启安全启动以更新win11教程
- Janis—微操作探针台系统
- 精通数据科学的奥义:腰椎间盘突出防治
热门文章
- ps眼睛糖果滤镜插件 - Alien Skin Eye Candy 7 for Mac
- java怎么播放不了声音,java – 为什么这段代码不播放声音文件
- 【C#桌面应用】第二节:利用Visual Studio2019 创建桌面应用
- composer update 无法执行命令原因及解决方法
- RTX5 | 事件标志组03 - 线程同步(逻辑或)
- 功能强大的JavaScript 拖拽库 SortableJS
- BootStrap笔记-加载效果的实现
- Qt工作笔记-QSplitter的使用(老版本里面发现的神控件在新版本内使用)
- Spring Boot工作笔记-RabbitMQ中Unsupported major.minor version 52.0问题
- QML笔记-KeyNavigation的使用(2种例子)