求助dalao,P1276 急,万分感谢

P1276 校门外的树(增强版)

忘了说是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


|