题解 1099: 校门外的树

来看看其他人写的题解吧!要先自己动手做才会有提高哦! 
返回题目 | 我来写题解

筛选

校门外的树 (C语言代码)比较高效(处理了重复的部分)

解题思路:我们可以使用一个大数组来保存当前马路上树的情况,数组大小至少要为10001,因为L最大是10000(记得置0),接下来就是读入初始状态的数据了,每读入一个数据,就把数组对应坐标的元素置为1;然后就是读入移走的范围了(begin,end),

校门外的树 (C语言代码)

摘要:解题思路:注意事项:参考代码:#include <stdio.h>void main(){ int L,M,i,a[30][2],b[1000]={0},low,n=0; do { scanf("%……

校门外的树 (C语言代码)

摘要:解题思路:  首先我想到的是用数轴,先求出树的总数。将各个区间进行判断,有没有交集进行合并,再分别求出各个区间的数目之和,总的一减即为所求。发现判断的区间很难一个个存储。  再之我便想到了定义一个数组……

校门外的树(建立set集合) (C++代码)

摘要:首先先介绍set集合:    c++ stl集合(Set)是一种包含已排序对象的关联容器。set会根据待定的排序准则,    自动将元素排序.set不允许元素重复 1) 不能直接改变元素值,因为……

校门外的树 (C语言代码)19行代码

解题思路:用一个数组存储每个点的树有没有被砍过(没砍过为0,砍过为1,因为数组初始化默认为0),更新区间直接使用memset批量赋值而不需要使用循环注意事项:包含起始点和终点的数,所以实际赋值大小为终点-起始点+1参考代码:#include#include//me

校门外的树 (C语言代码)

摘要:解题思路:创个数组,将区域地方都标记为1,即使重叠也无所谓,计数即可注意事项:参考代码:#include<stdio.h> int A[10001]; int main() { int L,……

校门外的树 (C语言代码)

摘要:解题思路:注意事项:参考代码:#include<stdio.h>void chushihua(int *a,int n){ for(int i=0;i<=n;i++) a[i]=1; return ;……

校门外的树 (C语言代码)

摘要:解题思路:注意事项:此题最为重要的是不能直接两个端点相减,因为有重复的地方,所以用一个数组记录树的状态,在0,拔去1,即可参考代码:    #include<stdio.h>        int m……

校门外的树 (C语言代码)关键在于将问题抽象化 数组解决 思路清晰简洁!

只要想到用数组的方式抽象这个问题,就很容易解决了,方法很简单。定义一个长度为L+1的数组,数组元素初始化为1,1代表该位置有树,0代表该位置的树被清除。这样设定,就不用考虑重复位置删除的问题了。思路很简洁,参考代码如下:#includeintmain(){inti,