85 条题解
-
0completist73 LV 3 @ 2008-09-07 00:33:09
编译通过...
├ 测试数据 01:答案正确... 0ms
├ 测试数据 02:答案正确... 0ms
├ 测试数据 03:答案正确... 9ms
├ 测试数据 04:答案正确... 0ms
├ 测试数据 05:答案正确... 0ms
├ 测试数据 06:答案正确... 25ms
├ 测试数据 07:答案正确... 0ms
├ 测试数据 08:答案正确... 0ms
├ 测试数据 09:答案正确... 25ms
├ 测试数据 10:答案正确... 0ms
---|---|---|---|---|---|---|---|-
Accepted 有效得分:100 有效耗时:59ms
弱弱的线段树,为防止(1,4)(5,10)算成一个区间,把所有数乘以2再算。最后得数除以2。递归崩栈了,自己写的栈。囧 -
02008-09-07 00:13:29@
编译通过...
├ 测试数据 01:答案正确... 0ms
├ 测试数据 02:答案正确... 0ms
├ 测试数据 03:答案正确... 0ms
├ 测试数据 04:答案正确... 0ms
├ 测试数据 05:答案正确... 0ms
├ 测试数据 06:答案正确... 0ms
├ 测试数据 07:答案正确... 0ms
├ 测试数据 08:答案正确... 0ms
├ 测试数据 09:答案正确... 0ms
├ 测试数据 10:答案正确... 0ms
---|---|---|---|---|---|---|---|-
Accepted 有效得分:100 有效耗时:0ms -
02008-09-07 00:11:22@
超时一个。郁闷。用快排和O(N)的操作也不行么
-
02008-09-07 00:06:42@
排序+合并区间,注意包含关系
线段树可
-
-12016-11-11 20:43:30@
#include <cstdio>
#include <iostream>
#include <algorithm>
using namespace std;
int N, i, L, R;
struct qj {
int l, r;
}A[50010];int comp(const qj &a, const qj &b) {
return a.l < b.l;
}int max_x(int a, int b) {return a>b? a:b;}
int main() {
cin>>N;
for(i=1; i<=N; i++)
cin>>A[i].l>>A[i].r;
sort(A+1, A+N+1, comp);
L = A[1].l;
R = A[1].r;
for(i=2; i<=N; i++)
if(A[i].l > R) {
printf("%d %d\n", L, R);
L = A[i].l;
R = A[i].r;
}
else {
R = max_x(A[i].r, R);
}
printf("%d %d", L, R);
return 0;
}