
ST表
Chester_King
虽千万人,吾往矣。
展开
-
【BZOJ】1699 [Usaco2007 Jan]Balanced Lineup排队 ST表
题目传送门今天上课讲到了ST表,本蒟蒻表示不会,于是滚去学了一发……ST表其实就是用倍增的思想来进行区间之间的转移,f[i][j]就表示从第i个节点开始往后2^j个节点的状态。状态的转移也非常好想:f[i][j]=f[i][j-1]&f[i+(1,这里的'&'表示两个区间状态的合并。求答案也非常简单,若给出的区间左右端点分别为l和r,设p=log(r-l+1)/log(2),那么答原创 2017-08-08 22:21:02 · 321 阅读 · 0 评论 -
【BZOJ】3956 Count 单调栈+ST表
题目传送门挺有思想的一题,但如果弄清楚了思路这题还是挺简单的。首先我们可以发挥一下自己的脑洞,发现所有的好集对不可能相交。那么我们可以刷两遍单调栈,求出每个点作为区间左端点或右端点的次数。对于给定区间,我们先找出区间中最大值所在的位置,显然所有的好集对最多以这个位置为左端点或右端点,不可能包含这个位置。然后问题就转化成了求一个区间的最大值所在的位置,计算以该位置左侧所有位置为左原创 2017-10-02 22:45:50 · 327 阅读 · 0 评论 -
【BZOJ】2006 [NOI2010]超级钢琴 ST表+堆+贪心
题目传送门这题好难啊……orz ZZK大佬,如果有一天我能和ZZK大佬一样强就好了……(不存在的!)这题题目大意就是给出一个n长度的序列,从中选出k个长度在[l,r]范围内的互不相同的子序列,求这些子序列的和的最大值。原来这题的模型叫超级钢琴啊,难道就是出自这题吗?一般求最大值之类的东西,我们会很容易想到线段树啦,分治啦,其实还有一种求静态区间最值的高级数据结构——ST表。先对原创 2017-08-29 21:33:42 · 306 阅读 · 0 评论