USACO 1.2 Problem 1
来源:互联网 发布:黑色星期五禁曲 知乎 编辑:程序博客网 时间:2024/04/30 09:36
这节开始讲complete search了。吃饭前做了一下这个题被坑到了= =不难。
题目描述:
嗯就是说农民喂牛,然后给农民数目,给没一个农民开始喂牛和结束喂牛的时间。然后要求计算牛有人喂的最长时间段,并且计算牛没有人喂的最长时间段。
算法思想:
嗯嗯最开始的时候思考了一下,既然是第一题一定很简单,说不定给定的数据都是有序的。
嗯然后跪了。
然后就有了用stl::map的想法,因为插入到map之后会自动排序,那么这样的话就是做了一个link sort,提取的时候也方便。
至于接下来的具体算法,就是检测下一个数据的开始时间和上一个数据的结束时间的大小,如果能够拼接起来就说明一直持续有人喂,那么把起始时间设为前一组数据的起始,结束时间设为后一组数据的结束,以此类推接下去的过程。
如果无法拼接,就说明有裂缝,然后计算裂缝的大小,跟最初的裂缝大小比较看哪个大就更新哪个就好了。
代码部分:
#include <fstream>#include <iostream>#include <map>using namespace std;ifstream fin("milk2.in");ofstream fout("milk2.out");int n;int main() {fin >> n;int a, b;map<int, int> mymap;for (int i = 0; i < n; i++){fin >> a >> b;mymap.insert(make_pair(a, b));}int res1 = 0, res2 = 0;int left, right;for (map<int, int>::iterator it = mymap.begin(); it != mymap.end(); ++it){if (it == mymap.begin()) {left = it->first; right = it->second;res1 = right - left;continue;}if ((it->first) <= right) {right = (it->second>right) ? it->second : right;res1 = (res1>(right - left)) ? res1 : (right - left);}else {res2 = (res2>(it->first - right)) ? res2 : (it->first - right);left = it->first; right = it->second;}}fout << res1 << " " << res2 << endl;return 0;}
0 0
- USACO 1.2 Problem 1
- USACO 1.2 Problem 2
- USACO 1.1 Problem 1
- USACO 1.2 Problem 4 Palindromic Square
- USACO 1.2 Problem 5 Dual palindromic
- USACO 1.2 Problem 3 Name That Number
- USACO 1.1 Problem 2
- USACO 1.1 Problem 3
- USACO 1.1 Problem 4
- usaco 1.2.1 milk2
- USACO 1.2.1 Milking Cows
- [USACO 1.2.1] Milking Cows
- USACO 1.2.1 Milking Cows
- USACO 1.2.1 Milking Cows
- USACO 1.2.1 Milking Cows
- USACO 1.2.1 Milking Cows
- 【USACO Contest】Holiday 2010 Bonus Competition, Problem 1: Cow Politics (cowpol)
- 【AC自动机+DP】[USACO JAN2012 GOLD Problem 1: Video Game Combos]
- Unity之Handles缩放控制柄-十四
- 【记录】VIM的基本操作
- java inputStream之read、available
- 矩阵链乘法(递归法)
- C++ 基础回顾
- USACO 1.2 Problem 1
- Unity之Handles绘制球体控制柄-十五
- 如何将PSD模型转化成XHTML和CSS文件
- 【记录】PWM-HBridge
- Spring3 MVC 深入研究
- struct结构会增加程序的开销
- 86Service中显示Intent跳转到Activity中跳转不了的BUG的解决
- 转载)相对路径读文件
- Unity之Handles之Slider-十六