/ Vijos / 题库 / 区间 /

题解

85 条题解

  • 0
    @ 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。递归崩栈了,自己写的栈。囧

  • 0
    @ 2008-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

  • 0
    @ 2008-09-07 00:11:22

    超时一个。郁闷。用快排和O(N)的操作也不行么

  • 0
    @ 2008-09-07 00:06:42

    排序+合并区间,注意包含关系

    线段树可

  • -1
    @ 2016-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;
    }

信息

ID
1439
难度
4
分类
其他 | 排序模拟 点击显示
标签
递交数
1444
已通过
576
通过率
40%
被复制
2
上传者