忘了说是P1276
by LMX920106840506 @ 2021-03-04 22:26:35
请再看一次数据范围。
by _caiji_ @ 2021-03-04 22:39:52
@[caijianhong](/user/390033) 没看出哎,求指教(刚学编程不久)
by LMX920106840506 @ 2021-03-05 10:41:11
数据范围!!!(好好干线段树吧|。。
by orz_z @ 2021-04-20 20:32:29
哈哈,我跟你的想法一样啊,我这个是AC的,你可以试试
```
#include<bits/stdc++.h>
using namespace std;
int main()
{
int a[10001],l,n,sum1=0/*校门外留下的树苗数目*/,sum2=0/*种上又被拔掉的树苗数目(注意:树苗砍一次就+1。中上再砍了还+1)*/;
cin>>l>>n;
for(int i=0;i<=l;i++) a[i]=1;//把0-l的树填为1(长大的树)
for(int i=0;i<n;i++)
{
int c,d; bool s;
cin>>s>>c>>d;//输入,s=0就是砍树者,s=1就是植树者
if(s==0) for(int j=c;j<=d;j++){if(a[j]==2) sum2++;/*如果砍了树苗+1*/ a[j]=0;/*此处填0(没有树)*/} //砍树的(范围是c-d,包括c和d)
else for(int j=c;j<=d;j++) if(a[j]==0)/*为0(空的,有树苗的不用)的填树苗*/ a[j]=2; //植树的(范围是c-d,包括c和d)
}
for(int i=0;i<=l;i++) if(a[i]==2) sum1++; //记录 校门外留下的树苗数目
cout<<sum1<<endl;
cout<<sum2;
return 0;
}
```
by 白给Whilegivemiao @ 2021-05-10 21:27:09
@[LMX920106840506](/user/475190) L(1 <= L <= 10000)和 N(1 <= N <= 100)
by grlljx @ 2021-08-30 15:40:40