AcWing 736. 安迪种树
原题链接
简单
作者:
蒋思源
,
2019-07-29 21:09:28
,
所有人可见
,
阅读 630
算法1 差分
C++ 代码
#include<iostream>
using namespace std;
const int N=100010;
int s[N],a[N];
int main()
{
int n,q;
scanf("%d%d",&n,&q);
while(q--)
{
int l,r;
scanf("%d%d",&l,&r);
a[l]+=1;
a[r+1]-=1;
}
for(int i=1;i<=n;i++) s[i]=s[i-1]+a[i];
for(int i=1;i<=n;i++) cout<<s[i]<<' ';
cout<<endl;
return 0;
}
算法2 暴力(只能通过5组数据)
C++ 代码
#include<iostream>
using namespace std;
const int N=100010;
int a[N];
int main()
{
int n,q,l,r;
scanf("%d%d",&n,&q);
while(q--)
{
scanf("%d%d",&l,&r);
for(int i=l-1;i<r;i++) a[i]+=1;
}
for(int i=0;i<n;i++) cout<<a[i]<<' ';
return 0;
}