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 (区间问题)相关推荐

  1. USACO 1.2 Milking Cows (枚举)

    标记数组(哈希) 1e6的范围,开一个char数组全然能够,有人为1,无人为0,注意边界就可以.最后线性扫描就可以. 时间复杂度,应该是O(n),n为最后结束的时间. 缺点就是--比較慢 /*ID:t ...

  2. 【USACO题库】1.2.1 Milking Cows挤牛奶

    一开始认为过不了,后来交就AC了. 1007. [USACO题库]1.2.1 Milking Cows挤牛奶 (File IO): input:milk.in output:milk.out 题目描述 ...

  3. [USACO 1.2.1] Milking Cows

    [题目描述] Milking Cows 挤牛奶 三个农民每天清晨5点起床,然后去牛棚给3头牛挤奶.第一个农民在300时刻(从5点开始计时,秒为单位)给他的牛挤奶,一直到1000时刻.第二个农民在700 ...

  4. Milking Cows 挤牛奶

    1.2.1 Milking Cows 挤牛奶 Time Limit: 1 Sec  Memory Limit: 64 MB Submit: 554  Solved: 108 [Submit][Stat ...

  5. 挤牛奶Milking Cows

    挤牛奶Milking Cows 这道题问的是有一条线段覆盖的最大区间和没有线段覆盖的区间. 先按照起点排序,然后从第二条线段开始判断.如果该线段的起点小于上一线段终点,则说明这两条线 段有重合部分,将 ...

  6. USACO Training Section 1.2 挤牛奶Milking Cows

    题目描述 三个农民每天清晨5点起床,然后去牛棚给3头牛挤奶.第一个农民在300秒(从5点开始计时)给他的牛挤奶,一直到1000秒.第二个农民在700秒开始,在 1200秒结束.第三个农民在1500秒开 ...

  7. [USACO 1.2.1] Milking Cows 挤牛奶

    题目描述 三个农民每天清晨 5 点起床, 然后去牛棚给三头牛挤奶. 第一个农民在 300 秒 (从 5 点开始计时) 给他的牛挤奶, 一直到 1000 秒. 第二个农民在 700 秒开始, 在 120 ...

  8. USACO section1.3 Barn Repair 修理牛棚(贪心)

    题目:http://www.wzoi.org/usaco/11%5C304.asp 大意:有m个点,用有数量限制的区间把这些点全部覆盖,求区间和的最小值. 贪心原理:如果限制的区间数大于等于m的话an ...

  9. Milking Cows UASCO

    原题地址 Three farmers rise at 5 am each morning and head for the barn to milk three cows. The first far ...

最新文章

  1. python列表解析式_Python基础入门-列表解析式
  2. 60秒,我们可以干什么?
  3. Python 基础常用数据结构
  4. 当当网高可用架构之道--转
  5. CSS3--幽灵按钮特效(实例)
  6. python爬虫与数据分析实战27_Python网络爬虫与文本数据分析
  7. 【Python】Pandas 数据类型概述与转换实战
  8. 【Qt】第一个Qt程序
  9. LeetCode刷题(7)
  10. python猫狗大战pytorch_深度学习实战---猫狗大战(pytorch实现)
  11. java 应用监控系统_GitHub - jiangbin216/JavaMonitor: 一款适用于Java应用的在线性能监控系统(JM)...
  12. jszip 解压压缩包_JavaScript 实现的 zip 压缩和解压缩工具包Zip.js使用详解
  13. 2017第25届春季中西部(重庆)医疗器械展览会会刊(参展商名录)
  14. 【JMedia】诺贝尔奖得主:东亚教育浪费了太多生命
  15. 安卓怎么打开html游戏,安卓手机如何打开.xapk文件
  16. 在ios6中调用苹果地图用于导航 (地图开发)
  17. UEFI下的Gmac驱动实现
  18. 微星主板开启安全启动以更新win11教程
  19. Janis—微操作探针台系统
  20. 精通数据科学的奥义:腰椎间盘突出防治

热门文章

  1. ps眼睛糖果滤镜插件 - Alien Skin Eye Candy 7 for Mac
  2. java怎么播放不了声音,java – 为什么这段代码不播放声音文件
  3. 【C#桌面应用】第二节:利用Visual Studio2019 创建桌面应用
  4. composer update 无法执行命令原因及解决方法
  5. RTX5 | 事件标志组03 - 线程同步(逻辑或)
  6. 功能强大的JavaScript 拖拽库 SortableJS
  7. BootStrap笔记-加载效果的实现
  8. Qt工作笔记-QSplitter的使用(老版本里面发现的神控件在新版本内使用)
  9. Spring Boot工作笔记-RabbitMQ中Unsupported major.minor version 52.0问题
  10. QML笔记-KeyNavigation的使用(2种例子)