这题WA了四次,后来发现不能用所谓的桶排来写

虽然空间上是可以的,但是存在这样一个问题

比如两组数据[15,20]和[21,30]

在20 和 21这两个时刻之间没有milking,但是用桶排的方法写的话只能判断离散的量

不能判断连续的量。

所以这题应该要用【区间合并】的思想来写

不错的题目~

Souce code:

/*
ID: wushuai2
PROG: milk2
LANG: C++
*/
//#pragma comment(linker, "/STACK:16777216") //for c++ Compiler
#include <stdio.h>
#include <iostream>
#include <fstream>
#include <cstring>
#include <cmath>
#include <stack>
#include <queue>
#include <vector>
#include <algorithm>
#define ll long long
#define Max(a,b) (((a) > (b)) ? (a) : (b))
#define Min(a,b) (((a) < (b)) ? (a) : (b))
#define Abs(x) (((x) > 0) ? (x) : (-(x))) using namespace std;
const int INF = 0x3f3f3f3f; struct sc{
int s,e;
}a[]; bool cmp(struct sc a, struct sc b){
if(a.s != b.s){
return a.s < b.s;
} else{
return a.e > b.e;
}
} int main() {
ofstream fout ("milk2.out");
ifstream fin ("milk2.in");
int i, j, k, t, n, m;
int ans1 = , ans2 = ;
fin >> n;
for(i = ; i < n; ++i){
fin >> a[i].s >> a[i].e;
}
sort(a, a + n, cmp);
for(i = ; i < n - ; ++i){
if(a[i].s == a[i + ].s){
for(j = i + ; j < n - ; ++j){
a[j] = a[j + ];
}
--n;
}
}
for(i = ; i < n - ; ++i){
if(a[i].e >= a[i + ].s){
a[i].e = max(a[i].e, a[i + ].e);
for(j = i + ; j < n - ; ++j){
a[j] = a[j + ];
}
--n;
--i;
}
}
for(i = ; i < n; ++i){
if(a[i].e - a[i].s > ans1){
ans1 = a[i].e - a[i].s;
}
if(i < n - && a[i + ].s - a[i].e > ans2){
ans2 = a[i + ].s - a[i].e;
}
}
fout << ans1 << ' ' << ans2 << endl;
return ;
}

最新文章

  1. 支持高并发的IIS Web服务器常用设置
  2. 几大主流浏览器内核(Rendering Engine)
  3. SE_homework1(第一部分)
  4. JAVA 8 Lambda表达式-Lambda Expressions
  5. SPFA算法
  6. Android调用远程Service的参数和返回值都需要实现Parcelable接口
  7. PHP去除数组中重复数据的两个例子
  8. Android应用程序架构之res
  9. 虽然net人
  10. js面向对象+一般方法的选项卡
  11. 使用KeePass愉快的来管理你的密码
  12. SpringBoot集成redis的key,value序列化的相关问题
  13. socketserver模块TCP和UDP协议形式
  14. ES6学习路上的小学生,promise处理异步操作,简易原始起步之用。先能用,再深究!
  15. BZOJ1076 [SCOI2008]奖励关 概率 状态压缩动态规划
  16. 运行时常量池中的符号引用/String.intern() /ldc指令
  17. PHP正则自动验证传入数据
  18. 404 Note Found队 Beta答辩总结
  19. java 工具类 static
  20. cordova/webapp/html5 app 用corsswalk替换内核,优化安卓webview

热门文章

  1. java源码解析——Stack类
  2. ID卡学习笔记
  3. perl5 第八章 子程序
  4. HDU 2147 kiki&#39;s game
  5. C++模板:二分查找
  6. C++访问权限的问题
  7. Oracle存储过程function语法及案例
  8. codeforces 559A(Gerald&#39;s Hexagon)
  9. 【Linux命令】数据库mysql配置命令
  10. 杭电oj find your present (2)