Parabola @ 2018-07-15 21:53:35
恭喜你成功被标题骗了进来,来了就不要走了嘛~
没错又是这个大坏蛋自己debug不出来就算了既然还要别人来帮忙
各位dalao帮忙看看啊分块WA的不行啊
我已经debug了三个小时了啊(逃)
#include<iostream>
#include<algorithm>
#include<cstdio>
#include<cmath>
using namespace std;
const int MAXN=1000000+5;
const int MAXM=1000+5;
int block[MAXM][MAXM];
long long add[MAXN];
int a[MAXN];
int wj[MAXN];
int b,n,SIZE,m;
inline int read()
{
char ch;int x=0;
while(ch < '0' || ch > '9') ch=getchar();
while(ch >= '0' && ch <= '9') x=x*10+ch-'0',ch=getchar();
return x;
}
inline char my_getchar()
{
char ch;
while(ch != 'A' && ch != 'M') ch=getchar();
return ch;
}
inline void init()
{
n=read(),m=read();
SIZE=sqrt(n);
int j=0;
for(int i=0;i<n;i++)
{
block[b][j]=a[i]=read();
wj[i]=j;
if(++j == SIZE)
++b,j=0;
}
for(int i=0;i<b;i++)
sort(block[i],block[i]+SIZE);
if(j)
sort(block[b],block[b]+j);
}
inline void modify(int l,int r,int c)
{
int lb=l/SIZE,rb=r/SIZE;
if(lb == rb)
{
for(int i=l;i<=r;i++)
a[i]+=c;
}
for(int i=(lb+1) * SIZE -1 ; i >= l ; i--)
a[i]+=c;
for(int i=rb * SIZE ; i <= r ; i++)
a[i]+=c;
for(int i=lb * SIZE ; i <= (lb+1) * SIZE -1 ; i++)
block[lb][wj[i]]=a[i];
for(int i=rb * SIZE ; i <= (rb+1) * SIZE -1 ; i++)
block[rb][wj[i]]=a[i];
sort(block[lb],block[lb]+SIZE);sort(block[rb],block[rb]+SIZE);
for(int i=lb+1 ; i < rb ; i++)
add[i]+=c;
}
inline int query(int l,int r,int c)
{
int lb=l/SIZE,rb=r/SIZE;
int tot=0;
if(lb == rb)
{
for(int i=l;i<=r;i++)
if(a[i] + add[lb] >= c)
tot++;
return tot;
}
for(int i=(lb+1) * SIZE -1 ; i >= l ; i--)
if(a[i] + add[lb] >= c)
tot++;
for(int i=rb * SIZE ; i <= r ; i++)
if(a[i] + add[rb] >= c)
tot++;
for(int i=lb+1 ; i < rb ; i++)
{
int k=lower_bound(block[i],block[i]+SIZE,c-add[i]) -block[i] -1;
tot+=SIZE-k;
}
return tot;
}
int main()
{
init();
while(m--)
{
char opt=my_getchar();
if(opt == 'A')
printf("%d\n",query(read()-1,read()-1,read()));
else
modify(read()-1,read()-1,read());
}
}
by Rbu_nas @ 2018-07-15 21:56:21
男的啊,走了走了
by strangers @ 2018-07-15 22:02:08
男的啊,走了走了
by ttklwxx @ 2018-07-15 22:03:25
男的啊,走了走了
by Parabola @ 2018-07-15 22:04:38
各位别走啊,我虽然是男的,我的老婆们是女的啊233
by xhhkwy @ 2018-07-15 22:09:35
男的啊,走了走了
by 权御天下 @ 2018-07-15 22:10:47
男的啊,还是有老婆的啊,走了走了
by 小粉兔 @ 2018-07-15 22:12:02
男的啊,走了走了
老婆给几个考虑一下留着
by Parabola @ 2018-07-15 22:14:24
誓死保卫纸片人!(来了这么多dalao全跑了hhh)
by tocek_shiki @ 2018-07-15 22:35:52
男的啊,走了走了,我老公比你强多了
by GNAQ @ 2018-07-15 22:37:13
debug是自己的事情 别人没有义务帮你,也不会在考场上帮你。
实在不行,重构也是方法之一。