倍增
文章平均质量分 88
chenxiaoran666
人要有梦想,不然和咸鱼有什么区别!
展开
-
倍增LCA
前言 在做树上问题时,我们经常会遇到LCA(最近公共祖先)问题。曾经的我遇到这类问题只会O(n)O(n)O(n)暴力求解,学了倍增LCA,就可以O(logn)O(logn)O(logn)解决了。 ...原创 2018-08-03 19:29:21 · 1376 阅读 · 0 评论 -
【洛谷1967】货车运输(最大生成树+倍增LCA)
点此看题面 大致题意: 有nnn个城市和mmm条道路,每条道路有一个限重。多组询问,每次询问从xxx到yyy的最大载重为多少。 一个贪心的想法 首先,让我们来贪心一波。 由于要求最大载重,显然要让最小限重尽量大。 不难发现,想要让最小限重尽量大,所经过的路径一定都在原图的最大生成树上。 于是,我们就可以用求最大生成树的方法来将原图转化为一棵树。 这样一来,原题就转化成了求树上两点之间的最小边权值...原创 2018-09-20 12:40:39 · 190 阅读 · 0 评论 -
【洛谷1613】跑路(倍增+最短路)
点此看题面 大致题意: 小AAA要从111号节点到nnn号节点,已知他每个单位时间可以跑2k2^k2k千米,求他最少需要多少个单位时间。 预处理 由于数据范围较小,我们可以先大力预处理。 首先,将题目中给出的边边权初始化为000。 若从一点出发,到两点皆有一条边权为kkk的边,就将这两点之间连一条边权为k+1k+1k+1的边。 这样重复nnn次,就能保证所有该连的边都连好了。 SPFASPFA...原创 2018-10-21 14:07:02 · 203 阅读 · 0 评论