关闭

算法提高 ADV-134 校门外的树

标签: java数据结构算法蓝桥杯
94人阅读 评论(0) 收藏 举报
分类:
问题描述
  某校大门外长度为L的马路上有一排树,每两棵相邻的树之间的间隔都是1米。我们可以把马路看成一个数轴,马路的一端在数轴0的位置,另一端在L的位置;数轴上的每个整数点,即0,1,2,……,L,都种有一棵树。
  由于马路上有一些区域要用来建地铁。这些区域用它们在数轴上的起始点和终止点表示。已知任一区域的起始点和终止点的坐标都是整数,区域之间可能有重合的部分。现在要把这些区域中的树(包括区域端点处的两棵树)移走。你的任务是计算将这些树都移走后,马路上还有多少棵树。
输入格式
  输入的第一行有两个整数L(1 <= L <= 10000)和 M(1 <= M <= 100),L代表马路的长度,M代表区域的数目,L和M之间用一个空格隔开。接下来的M行每行包含两个不同的整数,用一个空格隔开,表示一个区域的起始点和终止点的坐标。
输出格式
  输出包括一行,这一行只包含一个整数,表示马路上剩余的树的数目。
样例输入
500 3
150 300
100 200
470 471
样例输出
298
数据规模和约定
  对于20%的数据,区域之间没有重合的部分;
  对于其它的数据,区域之间有重合的情况。
问题描述
  某校大门外长度为L的马路上有一排树,每两棵相邻的树之间的间隔都是1米。我们可以把马路看成一个数轴,马路的一端在数轴0的位置,另一端在L的位置;数轴上的每个整数点,即0,1,2,……,L,都种有一棵树。
  由于马路上有一些区域要用来建地铁。这些区域用它们在数轴上的起始点和终止点表示。已知任一区域的起始点和终止点的坐标都是整数,区域之间可能有重合的部分。现在要把这些区域中的树(包括区域端点处的两棵树)移走。你的任务是计算将这些树都移走后,马路上还有多少棵树。
输入格式
  输入文件的第一行有两个整数L(1 <= L <= 10000)和 M(1 <= M <= 100),L代表马路的长度,M代表区域的数目,L和M之间用一个空格隔开。接下来的M行每行包含两个不同的整数,用一个空格隔开,表示一个区域的起始点和终止点的坐标。
输出格式
  输出文件包括一行,这一行只包含一个整数,表示马路上剩余的树的数目。
样例输入
500 3
150 300
100 200
470 471
样例输出
298
数据规模和约定
  对于20%的数据,区域之间没有重合的部分;
  对于其它的数据,区域之间有重合的情况。
试题来源
    noip2005普及组

import java.util.Scanner;

public class Main{
	public static void main(String[] args) {
		Scanner sc = new Scanner(System.in);
		int l,m;
		l = sc.nextInt();
		m = sc.nextInt();
		int [] tree = new int[l+1];
		for (int i=0;i<tree.length; i++){
			tree[i] = 1;
		}
		
		int begin,end;
		for(int i=0; i<m; i++){
			begin = sc.nextInt();
			end = sc.nextInt();
			for( ;begin<=end;begin++){
				tree[begin] = 0;
			}
		}
		int result = 0;
		for(int i=0; i<tree.length; i++){
			if(tree[i]!=0){
				result++;
			}
		}
		
		System.out.println(result);
	}
}	


  
0
0
查看评论

蓝桥杯算法训练 校门外的树

算法训练 校门外的树   时间限制:1.0s   内存限制:256.0MB        问题描述   某校大门外长度为L的马路上有一排树,每两棵相邻的树之间的间隔都是1米。我们可以把马路...
  • BorntoDo
  • BorntoDo
  • 2017-04-05 12:55
  • 140

校门外的树(线段树写法)

额,今天写一遍校门外的树线段树写法,纯属无聊。 乱写的,根本没有任何优化,速度还满了一点点。 也就是直接从模板上修改的,没有点统计,所以说,看看就好,知道线段树这中鬼东东就好。 额 我用的都是位运算,如果有不知道的,问一下度娘就好了。 额
  • cnyali_ljf
  • cnyali_ljf
  • 2016-07-15 14:01
  • 1787

1154: 校门外的树

1154: 校门外的树 Time Limit: 1 Sec  Memory Limit: 128 MB Submit: 1928  Solved: 950 SubmitStatusWeb Board Descript...
  • sd_DENG
  • sd_DENG
  • 2017-07-14 09:09
  • 219

【noip2005】校门外的树

【noip2005】校门外的树 描述 某校大门外长度为L的马路上有一排树,每两棵相邻的树之间的间隔都是1米。我们可以把马路看成一个数轴,马路的一端在数轴0的位置,另一端在L的位置;数轴上的每个整数点,即0,1,2,……,L,都种有一棵树。 由于马路上有一些区域要用来建地铁。...
  • Clove_unique
  • Clove_unique
  • 2015-10-29 18:40
  • 871

蓝桥杯 ALGO-29 算法训练 校门外的树(区间处理)

问题描述   某校大门外长度为L的马路上有一排树,每两棵相邻的树之间的间隔都是1米。我们可以把马路看成一个数轴,马路的一端在数轴0的位置,另一端在L的位置;数 轴上的每个整数点,即0,1,2,……,L,都种有一棵树。   由于马路上有一些区域要用来建地铁。这些区域用它们在数轴上的起始点和终止...
  • liuchuo
  • liuchuo
  • 2016-07-22 00:17
  • 404

poj 2808题校门外的树(java)

先写上代码,用java写的:import java.util.*;import java.io.*;public class Main { public static void main(String []args)throws Exception{  Scanner ...
  • greyfreedom
  • greyfreedom
  • 2011-05-04 13:30
  • 643

蓝桥杯 ADV-134算法提高 校门外的树

问题描述   某校大门外长度为L的马路上有一排树,每两棵相邻的树之间的间隔都是1米。我们可以把马路看成一个数轴,马路的一端在数轴0的位置,另一端在L的位置;数轴上的每个整数点,即0,1,2,……,L,都种有一棵树。   由于马路上有一些区域要用来建地铁。这些区域用它们在数轴上的起始点和终止点表示...
  • liuchuo
  • liuchuo
  • 2016-07-21 23:40
  • 268

openjudge 校门外的树3

P1473 校门外的树3 时间: 1000ms / 空间: 131072KiB / Java类名: Main 描述  校门外有很多树,有苹果树,香蕉树,有会扔石头的,有可以吃掉补充体力的…… 如今学校决定在某个时刻在某一段种上一种树,保证任一时刻不会出现两...
  • clover_hxy
  • clover_hxy
  • 2016-01-11 19:53
  • 719

百炼POJ 2808 校门外的树

分析 这个问题可以概括为输入一个大的整数闭区间,及一些可能相互重叠的在该大区间内的小的整数闭区间。在大的整数闭区间内去除这些小的整数闭区间,问之后剩下的可能不连续的整数区间内有多少个整数。 可以采用用空间换时间的方法,用一个数组来模拟这些区间,类似于位向量的办法。在数组中一个数代表一棵树...
  • u012999474
  • u012999474
  • 2013-11-30 05:01
  • 1035

vijos 1448 校门外的树 - 树状数组

请自行搜索 题目大意:维护n个位置,支持新建一段区间,查询某一段区间与已加入的多少区间有交。 题解: 神题啊 假设询问区间为[s,t],那么区间[a,b]与[s,t]相交,必要条件是a 因此维护两个bit分别维护左右端点,每次询问[s,t]那么答案就是query_in_left(t)-qu...
  • Mys_C_K
  • Mys_C_K
  • 2017-06-26 19:57
  • 212
    个人资料
    • 访问:21405次
    • 积分:1704
    • 等级:
    • 排名:千里之外
    • 原创:157篇
    • 转载:1篇
    • 译文:0篇
    • 评论:0条