80分的原因找到了!!!
查看原帖
80分的原因找到了!!!
98490
houzhiyuan楼主2021/8/21 15:50

如果你是在前面找最小值,st表要从0开始初始化。

就像这样:

for(ll i=1;i<=n;i++)st[i][0]=i;
	for(ll p=1;p<=20;p++){
		for(ll i=0;i<=n-(1<<p)+1;i++)st[i][p]=s[st[i][p-1]]<s[st[i+(1<<(p-1))][p-1]]?st[i][p-1]:st[i+(1<<(p-1))][p-1];
	}
2021/8/21 15:50
加载中...