USACO-Section1.2 Milking Cows [其他]
来源:互联网 发布:无人机网站源码 编辑:程序博客网 时间:2024/06/05 03:35
2017-05-21
题目大意:
给定N个区间,有重叠部分的区间可以合并成一个区间,求合并后最长的区间长度,和最大的区间间隙(即两个区间之间的间隔)。
题解:
用pair
< int, int> 存储所有区间,按照first升序排序,然后合并有重叠部分的区间。再在合并后的区间里找最大的区间长度和区间间隙。
代码:
/*ID: zachery1PROG: milk2LANG: C++*/#include <iostream>#include <fstream>#include <algorithm>#include <vector>#define cin fin#define cout foutusing namespace std;ifstream fin("milk2.in");ofstream fout("milk2.out");typedef pair<int, int> P;vector<P> line;vector<P> mergedLine;int N;void merge() { int begin = line[0].first, end = line[0].second; for (int i = 1; i < N; i++) { if (line[i].first <= end) { if (line[i].second <= end) continue; else { end = line[i].second; } } else { mergedLine.push_back(make_pair(begin, end)); begin = line[i].first; end = line[i].second; } } mergedLine.push_back(make_pair(begin, end));}void solve() { int maxMilking, maxIdle; maxMilking = mergedLine[0].second - mergedLine[0].first; maxIdle = 0; for (int i = 1; i < mergedLine.size(); i++) { maxMilking = max(maxMilking, mergedLine[i].second - mergedLine[i].first); maxIdle = max(maxIdle, mergedLine[i].first - mergedLine[i-1].second); } cout << maxMilking << " " << maxIdle << endl;}int main() { cin >> N; for (int i = 0; i < N; i++) { int begin, end; cin >> begin >> end; line.push_back(make_pair(begin, end)); } sort(line.begin(), line.end()); merge(); solve(); return 0;}
阅读全文
0 0
- USACO-Section1.2 Milking Cows [其他]
- USACO Section1.2 Milking Cows
- USACO-Section1.2 Milking Cows
- USACO-Section1.2 Milking Cows
- USACO-Section1.2 Milking Cows
- USACO之Section1.2.1 Milking Cows [其他]
- USACO-Section1.2 Milking Cows [线段树]
- USCAO-Section1.2 Milking Cows
- USACO 1.2.2 Milking Cows
- [USACO]1.2.2Milking Cows
- USACO-Section1.2 Transformations [其他]
- USACO Section 1.2.2 Milking Cows
- 【备战蓝桥杯】USACO--> Milking Cows[2]
- usaco 1-2-1 Milking Cows
- Milking Cows(USACO)
- USACO 1.2-Milking Cows
- usaco 1.2:Milking Cows
- [USACO] Milking Cows
- 运维学习过程
- 树莓派入门--安装系统
- js ~操作符(字位操作"非")详解
- Hibernate核心点介绍:
- LeetCode 6. ZigZag Conversion
- USACO-Section1.2 Milking Cows [其他]
- libcurl基础教程及封装(支持同步异步请求,支持多线程下载,支持https)
- 廖雪峰的Git教程九-创建于合并分支
- jsp简介
- SimpleTrigger、CronTrigger、SchedulerListener、TriggerListener、JobListener区别
- 微信小程序开发之获取openid及用户信息
- "=="、equals和hashCode总结!
- 微信公众号开发-服务器配置、关注后收到欢迎消息
- SimpleDateFormat