st表/RMQ
文章平均质量分 72
qkoqhh
这个作者很懒,什么都没留下…
展开
-
poj3264(st表模板)
才知道st表其实就是RMQ。。所以这玩意原来是已经学过了。。。然而也忘了。。以前st表写得挺丑的,换了个稍微好看一点的版本,或许以后还会有更好看的版本?然后说一下st表的基本思路就是。。倍增。。设st[i][j]为第i位置起1<<j个数的最大or最小值。。然后直接用dp来转移就可以了。。转移方程 st[i][j]=max(st[i][j-1],st[i+1<<(j-1)][...原创 2018-04-09 12:54:50 · 149 阅读 · 0 评论 -
poj2452(st表+二分)
区间最小和最大是十分好解决的。。然而2端点直接枚举会T啊。。所以最多枚举一个端点。。然后其实根据最小值可以二分求出满足最小值为左端的区间。。。然后在此基础上把区间最大值的位置求出来就可以了。。求最小最大什么的用st表就很方便。。/** * ┏┓ ┏┓ * ┏┛┗━━━━━━━┛┗━━━┓ * ┃原创 2018-04-09 14:36:52 · 541 阅读 · 0 评论 -
长大校赛C(st表+二分)
这个题有点意思 。。可能窝的想法和题解不一样。。不过比较容易想到。。首先从最暴力想起,就是枚举区间端点,再找最次值酱紫。。当然次大值这个还是相当好搞,维护一个st表就可以解决辣。。如果枚举子区间的话明显是超时的。。然后固定一端另一端也没办法很好地去怎么计数。。所以这个思路可能得放弃了。。然后貌似是齐齐说过,像这种枚举所有子区间并排序的肯定是要考虑每个元素的贡献?所以尝试求出a[i]的贡献。。怎么求...原创 2018-04-15 01:19:41 · 323 阅读 · 0 评论 -
bzoj2791(基环树+倍增lca)
仔细分析其实只有3种情况。。一种是不在一个联通块上。。直接-1一种是在同一个外向树上。。在树里面做lca即可。。一种是要跨过环。。其实跨环的方式只有2个,维护一下深度,差分一下环的距离,就可以把2个求出来了。。然后按照要求去比较即可。。。最tm蛋疼的就是这题竟然卡树剖??让汪聚聚写了一下倍增快得飞起。。orz汪聚聚 /** * ┏┓ ┏┓...原创 2018-07-29 21:10:26 · 480 阅读 · 0 评论