随笔分类 -  算法--RMQ

摘要:解题思路 首先要差分。因为最终要求的序列会被写成$ABA$这种形式,我们就可以枚举$A$的长度。然后再枚举左端点$i$,这样就可以得到右端点$j=i+B+L$。确定了左右端点,我们可以前后分别求出$lcp$ $l$和$r$,那么在$l+r 1$这段区间里任意长度为$L$的区间均可产生贡献,为了做到不 阅读全文
posted @ 2018-12-26 20:29 Monster_Qi 阅读(159) 评论(0) 推荐(0)
摘要:"传送门" 解题思路 最长回文子串。首先把串倒过来接到原串之后,中间要加一个特殊字符。然后枚举一下回文的位置,算一下前面和后面的$lcp$即可。 代码 cpp include include include include include using namespace std; const int 阅读全文
posted @ 2018-12-24 17:50 Monster_Qi 阅读(157) 评论(0) 推荐(0)
摘要:Time Limit: 10 Sec Memory Limit: 162 MB Description 有一个a*b的整数组成的矩阵,现请你从中找出一个n*n的正方形区域,使得该区域所有数中的最大值和最小值 的差最小。Input 第一行为3个整数,分别... 阅读全文
posted @ 2018-06-11 10:51 Monster_Qi 阅读(131) 评论(0) 推荐(0)
摘要:题目背景 这是一道ST表经典题——静态区间最大值 请注意最大数据时限只有0.8s,数据强度不低,请务必保证你的每次查询复杂度为 O(1) O(1) 题目描述 给定一个长度为 N N 的数列,和 M M 次询问,求出每一次询问的区间内数字的最大值。 输入输出格式 输入格式: 第一行包含两个整数 N, 阅读全文
posted @ 2018-04-29 20:33 Monster_Qi 阅读(147) 评论(0) 推荐(0)