树上倍增
文章平均质量分 66
路人黑的纸巾
高一SD
展开
-
【luoguP4768】【NOI2018】归程
description本题的故事发生在魔力之都,在这里我们将为你介绍一些必要的设定。 魔力之都可以抽象成一个 nn 个节点、mm 条边的无向连通图(节点的编号从 11 至 nn)。我们依次用 l,al,a 描述一条边的长度、海拔。 作为季风气候的代表城市,魔力之都时常有雨水相伴,因此道路积水总是不可避免 的。由于整个城市的排水系统连通,因此有积水的边一定是海拔相对最低的一些边。我们用水位线来描述...原创 2019-12-18 22:05:54 · 374 阅读 · 0 评论 -
【JZOJ6435】【luoguP5666】【CSP-S2019】树的重心
descriptionanalysis需要知道一棵树的重心一定在从根出发的重链上,可以考虑先进行树链剖分弄出重儿子和次重儿子,再倍增维护重儿子由于重链上有一个或两个重心,接下来求的重心都是深度较大的,只需判断其父节点是否也满足重心的性质即可现在要断掉一条边(x,y)(x,y)(x,y),假设xxx是yyy的父亲,需要分别求出yyy的子树的重心、以及除了yyy的子树以外的树的...原创 2019-12-17 17:40:39 · 530 阅读 · 0 评论 -
【JZOJ6376】樱符[完全墨染的樱花]
descriptionanalysis无向图上任意两点最大流不超过222,说明该图是仙人掌由于最大流等于最小割,如果一条边在两个环里,断掉两个端点至少需要333的代价对于该仙人掌,求两点间的最小割,那么要么割一条桥边,要么割一个环上的两条边环上边权最小边一定要割,那就把这条边断开,环上其他边边权加上该边边权,相当于提前割然后图就变成了一棵树,任意两点间最小割即为...原创 2019-10-06 21:04:15 · 325 阅读 · 0 评论 -
【JZOJ3397】【luoguP4556】雨天的尾巴
description深绘里一直很讨厌雨天。灼热的天气穿透了前半个夏天,后来一场大雨和随之而来的洪水,浇灭了一切。虽然深绘里家乡的小村落对洪水有着顽固的抵抗力,但也倒了几座老房子,几棵老树被连根拔起,以及田地里的粮食被弄得一片狼藉。无奈的深绘里和村民们只好等待救济粮来维生。不过救济粮的发放方式很特别。首先村落里的一共有n 座房屋,并形成一个树状结构。然后救济粮分m 次发放,每次选择...原创 2019-07-12 21:44:55 · 171 阅读 · 0 评论 -
【JZOJ4811】排队
descriptionanalysis堆+++树上倍增考虑后序遍历搞出dfsdfsdfs序,那么要填肯定是从dfsdfsdfs序开始填把每个点是序里第几位看成优先级,用小根堆来维护当前空着的优先级最小的点插入每次弹xxx次堆顶,然后把这些点全部打上标记,注意标记一定是先打儿子再打父亲然后找一个点深度最浅的打过标记的祖先,由于标记肯定打完了该点到祖先的所有点,于是...原创 2019-07-03 16:00:41 · 145 阅读 · 0 评论 -
【JZOJ4225】宝藏
descriptionanalysis倍增+++期望题解鲜有地写的很清晰……大概就这样了吧……然后对于求出来的fff值什么的,用倍增维护每次询问其实就是用倍增在树上跳来跳去,这个实现很简单code#pragma GCC optimize("O3")#pragma G++ optimize("O3")#include<stdio.h>...原创 2019-01-26 21:27:51 · 194 阅读 · 0 评论 -
【JZOJ4784】Map
descriptionanalysis正解tarjan+tarjan+tarjan+倍增首先考虑图为一棵树的情况,发现贡献即为(∑v[i])2−∑v[i]2(\sum v[i])^2-\sum v[i]^2(∑v[i])2−∑v[i]2那么我们tarjantarjantarjan缩完点以后,原图就变成了一棵树用倍增维护点权和与点权的平方和,每次O(log2n)O(\...原创 2019-01-09 22:01:09 · 155 阅读 · 0 评论 -
【JZOJ100026】图
description有一个n个点n条边的有向图,每条边为<i,f(i),w(i)>,意思是i指向f(i)的边权为w(i)的边,现在小A想知道,对于每个点的si和mi。si:由i出发经过k条边,这k条边的权值和。mi:由i出发经过k条边,这k条边的权值最小值。analysis正解倍增每个点出度是111,就是说点会向指定的方向跳,所以就算不是树也可以倍增可以O...原创 2018-10-06 16:36:34 · 258 阅读 · 0 评论 -
对LCA、树上倍增、树链剖分(重链剖分&长链剖分)和LCT(Link-Cut Tree)的学习
一篇从浅到深探究一些树上算法的博客原创 2017-10-18 19:59:54 · 10041 阅读 · 19 评论 -
JZOJsenior3534、luoguP1967.【NOIP2013提高组day1】货车运输
problemDescriptionA 国有 n 座城市,编号从 1 到 n,城市之间有 m 条双向道路。每一条道路对车辆都有重量限制,简称限重。现在有 q 辆货车在运输货物,司机们想知道每辆车在不超过车辆限重的情况下,最多能运多重的货物。Input第一行有两个用一个空格隔开的整数 n,m,表示 A 国有 n 座城市和 m 条道路。接下来 m 行每行 3 个整数 x、y、z,每原创 2018-01-19 17:01:15 · 363 阅读 · 0 评论 -
JZOJsenior2753.【2012东莞市选】树(tree)
problemDescription 在这个问题中,给定一个值S和一棵树。在树的每个节点有一个正整数,问有多少条路径的节点总和达到S。路径中节点的深度必须是升序的。假设节点1是根节点,根的深度是0,它的儿子节点的深度为1。路径不必一定从根节点开始。Input 第一行是两个整数N和S,其中N是树的节点数。 第二行是N个正整数,第i个整数表示节点i的正整数。 接下来的N-1行每行是原创 2018-01-21 16:22:36 · 453 阅读 · 0 评论 -
JZOJsenior1738.Heatwave
题目描述Description 给你N个点的无向连通图,图中有M条边,第j条边的长度为: d_j. 现在有 K个询问。 每个询问的格式是:A B,表示询问从A点走到B点的所有路径中,最长的边最小值是多少?Input 文件名为heatwave.in 第一行: N, M, K。 第2..M+1行: 三个正整数:X, Y, and D (1 <= X <=N; 1 <= Y <原创 2017-10-07 15:48:18 · 642 阅读 · 0 评论