[NOIP2005 普及组] 校门外的树 题解

(一)读懂题目

关键词:
马路的一端在数轴0的位置,另一端在l的位置
数轴上的每个整数点,即 0,1,2…l,都种有一棵树。

又是化身光头强的一题

话不多说,开干

(二)分析算法+时间复杂度和空间复杂度

算法:一维数组的应用(我在回答什么。。)
时间复杂度:O(...)
空间复杂度:O(1)

(三)代码实现

简单的一维数组的应用题目
#include<iostream>
#include<cstdio>
#include<cmath>
using namespace std;
int a[10005],l,n,num;//定义数组,变量 
int main(){
	cin>>l>>n;//输入 
	for(int i=1;i<=n;i++)
	{
		int x,y;//直接两个临时变量代替 
		cin>>x>>y;//输入临时变量 
		for(int j=x;j<=y;j++)//在两个区间内做光头强 
		{
			a[j]=1;//光头强完工了标记一下 
		}
	}
	for(int i=0;i<=l;i++)//开始枚举数组(一定要从0开始) 
	{
		if(a[i]==0)//没被砍过 
		{
			num++;//答案+1 
		}
	}
	cout<<num<<endl;//输出答案 
	return 0;
}

(四)总结反思

简单的一维数组的应用,当然细节需要注意一些(例如从0开始枚举)

OK

到点,下班

点赞,散会!!

评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
红包 添加红包
表情包 插入表情
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值