这个数据结构叫什么
  • 板块学术版
  • 楼主jianganxu
  • 当前回复3
  • 已保存回复3
  • 发布时间2024/11/25 09:23
  • 上次更新2024/11/25 15:20:21
查看原帖
这个数据结构叫什么
644583
jianganxu楼主2024/11/25 09:23

维护不可差分不可重复贡献的信息

复杂度同st表

void build(int l,int r,int k){
	if(l+1==r) return;
	int mid=(l+r)>>1;
	f[k][mid-1]=a[mid-1];
	f[k][mid]=a[mid];
	for(int i=mid-2;i>=l;i--) f[k][i]=(ll)f[k][i+1]*a[i]%mo;
	for(int i=mid+1;i< r;i++) f[k][i]=(ll)f[k][i-1]*a[i]%mo;
	build(l,mid,k+1);
	build(mid,r,k+1);
}
int ask(int l,int r){
	if(l==r) return a[l];
	int k=20-highbit[l^r];
	return (ll)f[k][l]*f[k][r]%mo;
}
2024/11/25 09:23
加载中...