码迷,mamicode.com
首页 > 其他好文 > 详细

CF History解题报告

时间:2016-05-01 10:59:26      阅读:145      评论:0      收藏:0      [点我收藏+]

标签:

  这其实一个简单的模拟,但是我们第一交是过了,后来学长rejudge,我们又TLE了,这一下不仅耽误了我们的时间,也波动到了我们的心情,原先时间是2s,(原oj就是2s),后来改成了1s,我用的O(N*N)的循环直接超时了,这并不可怕,可怕的是我们被这个思路误导了,一直在O(N*N)的基础上优化,交了好多次.......最后才知道没有那么复杂,题目中的样例比较特殊,排序后直接O(N)的枚举就可以了,因为水题罚时多,排名特别靠后,我的心好痛T T....

#include<iostream>
#include<cstdio>
#include<algorithm>
using namespace std;
struct EDGE
{
    int st,en;
}e[100010];
bool cmp(EDGE a,EDGE b)
{
    return a.st < b.st;
}
int main()
{
    int t;
    scanf("%d",&t);
    for(int i = 0;i < t;i++)
    {
        scanf("%d%d",&e[i].st,&e[i].en);
    }
    sort(e,e+t,cmp);
    int ans = 0;
    EDGE now = e[0];
    for(int i = 1;i < t;i++)
    {
        if(e[i].en < now.en)
        {
            ans++;
        }
        else now = e[i];
    }
    printf("%d\n",ans);
    return 0;
}

 

CF History解题报告

标签:

原文地址:http://www.cnblogs.com/jifahu/p/5450130.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!