
ST算法
逐梦起航-带梦飞翔
为了更加长远的快乐!
展开
-
ST算法—介绍
ST算法是解决RMQ(区间最值)问题,它能在O(nlogn)的时间预处理,然后O(1)回答。其原理是倍增,f[i][j]表示从i位起的2^j个数中的最大数,即[i,i+2^j-1]中的最大值,从其定义中可以看出来。下面直接介绍它的预处理过程。f[i][0]表示[i,i]中的最大值,只能是a[i],故f[i][0]=a[i]。对于任意的f[j][i],我们分成两段相等长度的数列来看,[j,j+2^(...原创 2018-07-16 11:17:54 · 7836 阅读 · 0 评论 -
loj10121 与众不同(ST算法)(二分)
题目A 是某公司的 CEO,每个月都会有员工把公司的盈利数据送给 A,A 是个与众不同的怪人,A 不注重盈利还是亏本,而是喜欢研究「完美序列」:一段连续的序列满足序列中的数互不相同。A 想知道区间 [L,R] 之间最长的完美序列长度。尝试一开始想的是用权值线段树,这样只要满足min[l,r]=1那么这段就是合法的。又想了想让每个合法区间对提问更新,并不太可行。题解ST表+二...原创 2018-10-25 13:02:22 · 2004 阅读 · 0 评论