一条c++题目,请问怎么设计算法

软件和网站开发以及相关技术探讨
回复
头像
rob2468
帖子: 185
注册时间: 2009-03-19 8:39
联系:

一条c++题目,请问怎么设计算法

#1

帖子 rob2468 » 2009-08-18 14:54

问题描述
某校东侧长度为L的街道一侧有一排树,每两棵相邻的树之间间隔1米,这些树的位置从南到北依次标记为0,1,2,…,L。在树的一侧的一些区域要用来修地铁站,工作人员为图方便,在一些地段标上要修地铁站的标记,即从南到北陆续在需要影响的一段区域插上起始位置与终止位置的标牌,这些区域中的树是要移除的。
您的任务是计算将这些树移除后这段街道还有多少棵树。

输入
输入有多组测试数据,每组有若干行。每组的第一行是2个整数L、M(1£L£10000,1£M£100),其中L表示这一段街道的长度,M表示区域的数目。接下来有M行,每行有2个不同的整数,用空格隔开,表示一个区域的起始位置与终止位置。

输出
对每组输入,一行输出这段街道还有多少棵树。

输入样例
500 3
150 300
100 200
470 471

输出样例
298
请问怎么设计算法
头像
BigSnake.NET
帖子: 12522
注册时间: 2006-07-02 11:16
来自: 廣州
联系:

Re: 一条c++题目,请问怎么设计算法

#2

帖子 BigSnake.NET » 2009-08-18 15:09

线段树
^_^ ~~~
要理解递归,首先要理解递归。

地球人都知道,理论上,理论跟实际是没有差别的,但实际上,理论跟实际的差别是相当大滴。
头像
懒蜗牛Gentoo
论坛版主
帖子: 7353
注册时间: 2007-03-02 17:36
系统: Linux Mint

Re: 一条c++题目,请问怎么设计算法

#3

帖子 懒蜗牛Gentoo » 2009-08-18 15:11

作业?
虽然世上没有完美的东西,但这并不影响我们追求完美,因为只有偏执狂才TMD能成功。
10.04新手入门——笨兔兔讲述自己的故事
clarkyzl
帖子: 85
注册时间: 2008-10-06 22:19

Re: 一条c++题目,请问怎么设计算法

#4

帖子 clarkyzl » 2009-08-18 17:42

不好意思,刚没看清题目

代码: 全选

#include <iostream>
#include <algorithm>
#include <vector>
using namespace std;
int main()
{
	int nStreet, nArea;
	cin >> nStreet >> nArea;
	nStreet ++; // 500米的街道共501树
	vector<bool> ToCut(nStreet, false);
	for (int i = 0; i < nArea; i++)
	{
		int nStart, nStop;
		cin >> nStart >> nStop;
		for (int j = nStart; j <= nStop; j++) ToCut[j] = true;
	}
	nStreet -= count(ToCut.begin(), ToCut.end(), true);
	cout << nStreet << endl;
	return 0;
}
上次由 clarkyzl 在 2009-08-18 17:57,总共编辑 2 次。
头像
cheaper
帖子: 198
注册时间: 2006-01-06 17:26

Re: 一条c++题目,请问怎么设计算法

#5

帖子 cheaper » 2009-08-18 17:45

好难哦 看都看不懂
我是学习linux,不是学习如何装linux。

Myblog
afphoenix
帖子: 153
注册时间: 2009-01-07 15:19

Re: 一条c++题目,请问怎么设计算法

#6

帖子 afphoenix » 2009-08-18 19:18

传说中的校门外的树 :em05 :em06
大家好,我是计算机系大学生,玩电脑也 7.8 年了吧,可是这个系统为什么XXX,就不能XXX,连我这种XXX都XXX,怎么能够推广,看来XXX路还很长XXX,搞不懂你们这些XXX,再见了XXX
头像
rob2468
帖子: 185
注册时间: 2009-03-19 8:39
联系:

Re: 一条c++题目,请问怎么设计算法

#7

帖子 rob2468 » 2009-08-19 12:18

是题目
还是考试题目
不过考试时没写起来,现在再来看看
头像
tregedie
帖子: 578
注册时间: 2008-11-29 22:56
来自: Guangdong Pharmaceutical University
联系:

Re: 一条c++题目,请问怎么设计算法

#8

帖子 tregedie » 2009-08-19 12:25

没记错的话是NOIP普及组的题目吧?
猪圈里的猪想着去解放全世界
头像
rob2468
帖子: 185
注册时间: 2009-03-19 8:39
联系:

Re: 一条c++题目,请问怎么设计算法

#9

帖子 rob2468 » 2009-08-19 13:55

4楼真厉害啊
我把你的程序稍微修改的更符合题意,然后再提交上去,对了。而且运算时间短,占内存小。但写的这个程序我看不懂,algorithm和vector头文件也没看过,什么作用也不懂,如果有谁能说说,感激不尽。
头像
rob2468
帖子: 185
注册时间: 2009-03-19 8:39
联系:

Re: 一条c++题目,请问怎么设计算法

#10

帖子 rob2468 » 2009-08-19 16:24

tregedie 写了:没记错的话是NOIP普及组的题目吧?
这是我们的期末考试题目
头像
tregedie
帖子: 578
注册时间: 2008-11-29 22:56
来自: Guangdong Pharmaceutical University
联系:

Re: 一条c++题目,请问怎么设计算法

#11

帖子 tregedie » 2009-08-19 22:46

rob2468 写了:
tregedie 写了:没记错的话是NOIP普及组的题目吧?
这是我们的期末考试题目
原题是NOIP 2005 普及组复赛第二题
:em04
猪圈里的猪想着去解放全世界
头像
rob2468
帖子: 185
注册时间: 2009-03-19 8:39
联系:

Re: 一条c++题目,请问怎么设计算法

#12

帖子 rob2468 » 2009-08-20 7:33

tregedie 写了:
rob2468 写了:
tregedie 写了:没记错的话是NOIP普及组的题目吧?
这是我们的期末考试题目
原题是NOIP 2005 普及组复赛第二题
:em04

原来如此
回复