随笔分类 - 倍增
摘要:倍增 这道题最难的应该是预处理。。。 首先用$set$从后往前预处理出每一个点海拔差绝对值得最大值和次大值 因为当前城市的下标只能变大,对于点$i$,在$set$中二分找出与其值最接近的下标 然后再$set$中将左右各两个下标处理出来,取最大值和次小值 预处理完毕 将每一次小A和小B的开车看为一轮开
阅读全文
摘要:倍增+Floyd 首先令$g[i][j][k]$表示$i$到$j$的有没有长度为$2^{k}$的路径,1表示有,0表示没有 那么可以处理出有之间连边($u$->$v$)的两点$u$,$v$,$g[u][v][0]=1$ 然后再令$f[i][j]$表示i到j经过$2^{k}$的边的个数 那么只要存在一
阅读全文
摘要:二分+倍增 题目 题目中的最大校验值应由数组排序后,取出最大值和最小值,次大值和次小值……进行做差平方取和 所以在加入一个新的数时,校验值是不会下降的 那么可以发现,校验值是单调递增的,所以可以用二分对每一个固定的左段点找到满足条件的最大的右端点 所以l初始值设为1,不断对r进行二分,找到最大的点
阅读全文
摘要:倍增求LCA+最大生成树 题目给出的是一张图,在图上有很多算法无法实现,所以要将其转化为树 题中可以发现货车的最后的载重量是由权值最小的一条边决定的,所以我们求最大生成树 求完最大生成树后我们得到一个森林 现在转化为了求两点路径经过边的边权的最小值,用倍增算法进行计算 倍增求LCA时避免父亲倍增数组
阅读全文

浙公网安备 33010602011771号