分块预处理求助
查看原帖
分块预处理求助
209808
银河AI楼主2021/5/9 13:14

问一下各位大佬

莫队里分块预处理这么打有问题吗?

(我这里输出会显示好几个块的 st[i]st[i] 都是块长,以前就遇到这种问题了,求助)

inline void init(){
		block=sqrt(maxn);len=ceil((double)maxn/block);
		for(int i=1;i<=len;i++){
			for(int j=(i-1)*block+1;j<=i*block;j++) bel[j]=i;
			ed[i]=min(maxn,i*block);
			st[i]=(i-1)*block+1;
		}
		//printf("%d %d\n",block,len);
	}

st[i],ed[i]输出情况:

317 316
317 632
317 948
317 1264
317 1580
317 1896
317 2212
317 2528
317 2844
317 3160
317 3476
317 3792
317 4108
317 4424
317 4740
317 5056
317 5372
317 5688
2021/5/9 13:14
加载中...