来源:http://blog.csdn.net/y990041769/article/details/38405063 RMQ算法,是一个快速求区间最值的离线算法,预处理时间复杂度O(n*log(n)),查询O(1),所以是一个很快速的算法,当然这个问题用线段树同样能够解决。 问题:给出n个数ai, ...
分类:
编程语言 时间:
2018-03-03 20:31:56
阅读次数:
176
940E - Cashback 思路: dp+rmq 可以证明最后划分的区间可以由长度为1和长度为c的区间组成的,这样就可以用O(n)的dp求了,区间最小值随便拿什么维护都可以 状态:dp[i]表示到i这个位置为止的最小划分和 初始状态:dp[0]=0 目标状态:dp[n] 状态转移:dp[i]=m ...
分类:
其他好文 时间:
2018-03-02 22:20:09
阅读次数:
253
f[i][j]表示从位置i开始,长度为2^j的一段区间的最值 以最小值为例: 原理:意会 加油! ...
分类:
其他好文 时间:
2018-02-28 16:20:44
阅读次数:
134
BZOJ3339&&3585:Rmq Problem&&mex Description 有一个长度为n的数组{a1,a2,...,an}。m次询问,每次询问一个区间内最小没有出现过的自然数。 Input 第一行n,m。 第二行为n个数。 从第三行开始,每行一个询问l,r。 Output 一行一个数, ...
分类:
其他好文 时间:
2018-02-25 20:43:12
阅读次数:
252
题意:求重复次数最多的重复子串(并非长度最长) 枚举循环子串长度$L$,求最多能连续出现多少次,相邻的节点往后的判断可以使用$LCP$得到值为$K$,那么得到一个可能的解就是$K/L+1$ 这个不是最优解,还需要 往前 判断,往前的判断必须是两个后缀依然等间距的,而且首个后缀必须在此前已经枚举过的后 ...
分类:
其他好文 时间:
2018-02-25 15:51:05
阅读次数:
166
设计原则:(重要) 1. 逻辑代码独立到单独的方法中,注重封装性--易读,易复用。 不要在一个方法中,写下上百行的逻辑代码。把各小逻辑代码独立出来,写于其它方法中,易读其可重复调用。 2. 写类,写方法,写功能时,应考虑其移植性,复用性:防止一次性代码! 是否可以拿到其它同类事物中应该?是否可以拿到... ...
分类:
其他好文 时间:
2018-02-24 18:03:54
阅读次数:
180
一个寒假快过完了,趁开学初还没有什么作业,赶紧继续学东西。 搞完了树形dp和状压dp(都是初步),现在打算胡乱搞一下KMP和LCA还有RMQ。 ...
分类:
其他好文 时间:
2018-02-22 21:35:27
阅读次数:
111
新的一年来第一次考试啊,上一次考试还是WC。还好,还记得怎么考试…… T1上来看到数据范围十有八九是矩阵乘,T2是一个树上问题,T3好迷,可能是数据结构之类的。 T1 20分暴力稳了,T2也有20分的暴力,菊花图的话输出最大值就应该又有20分了,T3裸暴力20分,哈希30分,现在暴力总分就是110分 ...
分类:
其他好文 时间:
2018-02-21 21:40:22
阅读次数:
147
题意:求两个串的最长公共子串 两个串连接起来然后求高度数组 注意两个sa值必须分别在不同一侧 本题是用来测试模板的,回想起青岛那次翻车感觉很糟糕 C++ include include include include include include include include include i ...
分类:
编程语言 时间:
2018-02-19 16:00:06
阅读次数:
102