SDNUOJ1012(区间合并)

原创 2016年05月31日 20:04:39

首先写一个结构体,保存区间
对区间开始排序
遍历所有区间,如果begin比上一个小 区间数减一;

#include <stdio.h>
#include <stdlib.h>
struct record
{
    int begin;
    int end;
   /* int flog;*/
} ;
int compare(const void *p1,const void *p2)
{
    struct record *a= (struct record *)p1;
    struct record *b= (struct record *)p2;
    int result=0;
    if(a->begin<b->begin)
        return -1;
    else if(a->begin>b->begin)
        return 1;
    else
        return 0;
}
int main()
{
    struct record t[1010];
    int n;
    scanf("%d",&n);
    for(int i=0;i<n;i++)
    {
        /*t[i].flog=0;*/
        scanf("%d %d",&t[i].begin,&t[i].end);
    }
    qsort(t,n,sizeof(t[0]),compare);
    /*for(int i=0;i<n;i++)
    {
        printf("%d %d\n",t[i].begin,t[i].end);
    }*/
    int sum=n;
    for(int i=1;i<n;i++)
        for(int j=i-1;j>=0;j--)
        {
            if(t[i].begin<t[j].end)
            {
                sum--;
                //t[i].flog=1;
                break;
            }
        }
        printf("%d\n",sum);
    /*for(int i=0;i<n;i++)
    {
        printf("%d %d %d\n",t[i].begin,t[i].end,t[i].flog);
    }*/
    return 0;
}

版权声明:本文为博主原创文章,未经博主允许不得转载。

sdnuoj1012 区间合并

1012.区间合并 Time Limit: 1000 MS    Memory Limit: 32768 KB Total Submission(s): 75    Accepted Su...
  • turbo_7
  • turbo_7
  • 2013年05月27日 20:31
  • 593

线段树专题—POJ 3667 Hotel(区间合并模板)

题意:给一个n和m,表示n个房间,m次操作,操作类型有2种,一种把求连续未租出的房间数有d个的最小的最左边的房间号,另一个操作时把从x到x+d-1的房间号收回。 分析:这是一个区间合并的典型...
  • sin_XF
  • sin_XF
  • 2015年08月15日 14:47
  • 756

OpenJudge noi 7620区间合并

Description 给定 n 个闭区间 [ai; bi],其中i=1,2,…,n。任意两个相邻或相交的闭区间可以合并为一个闭区间。例如,[1;2] 和 [2;3] 可以合并为 [1;3],...
  • Loi_black
  • Loi_black
  • 2016年10月20日 16:42
  • 540

线段树—区间合并

线段树的区间合并,即寻找询问区间中满足条件的连续最长区间。 而一个区间连续的最长区间有两种情况: 1、此连续最长区间全在左子树或全在右子树,则sum[t]=max(sum[t 2、一部分在左子树...
  • night0508
  • night0508
  • 2016年08月04日 21:24
  • 1446

区间合并算法

需求:给定多个连续的区间,将区间进行合并,输出一个或多个没有交集的连续区间。 支持泛型,可以用数值或者字符串表示区间(实际上是Comparable接口)。 环境:jdk1.8 package c...
  • zhoujiaping123
  • zhoujiaping123
  • 2017年06月29日 13:24
  • 382

合并区间 Merge Intervals

https://leetcode.com/problems/merge-intervals/先对区间按照左边界排序,然后顺序扫描,合并重叠的区间即可。/** * Definition for an ...
  • gao1440156051
  • gao1440156051
  • 2016年06月07日 16:57
  • 1028

简化SQL式计算之区间合并

在数据库应用开发中,我们经常需要面对复杂的SQL式计算,区间合并就是其中一种,比如进行不重复时间段汇总,或将重叠的时间段合并等计算。由于SQL集合无序,实现时需要采用递归的方式实现,而对于递归函数不足...
  • u012388497
  • u012388497
  • 2015年09月08日 08:35
  • 598

求多个区间合并后区间大小的巧妙解决方法

上图一共有5个区间,分别是[0,2]、[2,4]、[8,11]、[7,11]、[15,18]。如果要求这些区间合并后区间的大小,有两种简单的方法。   方法一:比较每两个区间的范围,如果两个区间有交...
  • RaceBug2010
  • RaceBug2010
  • 2012年07月02日 01:40
  • 6929

区间覆盖与合并

问题最近打google的apactest,遇到一个经典的(但我不熟的)问题——给你一堆整数区间(比如[1, 3], [2, 6], [8, 10]),问它们合并后是怎样的? 比如上述三个区间合并后就...
  • Jacketinsysu
  • Jacketinsysu
  • 2016年08月30日 11:31
  • 1306

Openjudge NOI题库2.4基本算法之分治 7620:区间合并

 总时间限制: 1000ms 内存限制: 65536kB 描述 给定 n 个闭区间 [ai; bi],其中i=1,2,...,n。任意两个相邻或相交的闭区间可以合并为一个闭区间。例如,[1;...
  • EnemyGodlike
  • EnemyGodlike
  • 2017年01月23日 17:55
  • 820
内容举报
返回顶部
收藏助手
不良信息举报
您举报文章:SDNUOJ1012(区间合并)
举报原因:
原因补充:

(最多只允许输入30个字)