随笔分类 - 【ST表&&LCA&&RMQ】
摘要:<题目链接> 题目大意: 给一个无向图,该图只有一个连通分量。然后查询q次,q < 1000, 求每次查询就增加一条边,求剩余桥的个数。 解题分析: 普通的做法就是在每加一条边后,都找一次桥,但是这样肯定超时。 第一种做法是:缩点,因为如果一条边不是桥那么无论怎么加边他肯定都不会变成桥,这样把连通分
阅读全文
posted @ 2018-11-05 23:59
悠悠呦~
摘要:<题目链接> 题目大意:给定一颗带点权的树,进行两种操作,k=0,更改某一点的点权,k!=0,输出a~b路径之间权值第k大的点的点权。 解题分析:先通过RMQ的初始化,预处理pre[]数组,并且求出a和b的LCA。然后利用LCA将a、b路径上所有点的点权全部存储起来,将其排序,就可得到a、b路径上权
阅读全文
posted @ 2018-10-23 23:44
悠悠呦~
摘要:<题目链接> <转载于 >>> > 题目大意: 给出一个长度不超过1000位的数,求删去m位数字以后形成的最小的数字是多少。 解题分析: 分析:我们可以把题目转化为这样一个模型:从A[1]、A[2]、……、A[n] n个数中选出n-m个数,使得组成的数最小。一、使用RMQ,设原数字长为n,那么除去m
阅读全文
posted @ 2018-10-20 16:27
悠悠呦~
摘要:<题目链接> <转载于 >>> > 题目大意: 给出一个N*M的矩阵,并且给出该矩阵上每个点对应的值,再进行Q次询问,每次询问给出代询问子矩阵的左上顶点和右下顶点,问该子矩阵的最大值是多少,并且判断该最值是否在该子矩阵的四个顶角上。 解题分析: 很明显求二维区间内的最值,需要用到二维RMQ,其中dp
阅读全文
posted @ 2018-10-20 12:33
悠悠呦~
摘要:<题目链接> 题目大意: 给定一段序列,进行q次询问,输出每次询问区间的最大值与最小值之差。 解题分析: RMQ模板题,用ST表求解,ST表用了倍增的原理。 2018-10-19
阅读全文
posted @ 2018-10-19 23:03
悠悠呦~
摘要:<题目链接> 题目大意: 给你一个长度为n的序列,这个序列每个数都有一个值,接下来进行q次询问,问在指定区间内出现次数最多的数出现了几次。 解题分析: 因为该序列是非降序的,所以该序列中的所有相等的数都是连续的,因此,我们可以先用dp预处理一下,dp[i]表示以第i个数结尾的最大连续相等个数,于是,
阅读全文
posted @ 2018-10-19 21:19
悠悠呦~
摘要:<题目链接> 题目大意:给你一段序列,进行q次区间查询,每次都输出询问区间内的最小值。 解题分析: RMQ模板题,下面用在线算法——ST算法求解。不懂ST算法的可以看这篇博客 >>> 2018-10-19
阅读全文
posted @ 2018-10-19 14:24
悠悠呦~
浙公网安备 33010602011771号