[BZOJ] 5415: [Noi2018]归程】的更多相关文章

解题思路 \(NOI2018\)的\(Day1\) \(T1\),当时打网络赛的时候不会做.学了一下\(kruskal\)重构树后发现问题迎刃而解了.根据\(kruskal\)的性质,如果要找从\(u\)出发,所走边权\(>lim\)的所能到达的点,可以将边从大到小排序,重构树后从\(u\)往上跳到点权\(>lim\)深度最浅的点,这个点子树的叶节点为所求点集合.有了这个以后就可以跑一遍从\(1\)开始的最短路,记\(Min(i)\)表示重构树上\(i\)这个节点所有子树到\(1\)的最小值.…
www.lydsy.com/JudgeOnline/upload/noi2018day1.pdf Solution 考试的时候打的可持久化并查集,没调出来QAQ 后面知道了kruskal重构树这个东西,感觉好简单啊 这道题就建出kruskal重构树后,对于两个点找到它们的LCA,其子树min就是答案 #include<bits/stdc++.h> #define ui unsigned int #define ll long long #define db double #define ld…
在做Kruskal求最小生成树时,假设要通过边权\(w\)的边合并子树\(x\)和\(y\),我们新建一个方点,把两个子树接到这个方点上,并将方点的点权赋为\(w\),最终形成的二叉树就是\(Kruskal\)重构树. 这样的二叉树,是一个二叉堆,满足一个方点为根的子树内,所有方点点权都小于该点点权 统计原图上两点之间最大值的最小值时,答案就是这两点\(LCA\)的点权 \(Kruskal\)重构树很好地把一维限制放到了子树内,方便统计 对于这个题,我们以海拔为边权建一颗最大生成树,那么对应的\…
[LOJ 2718][UOJ 393][BZOJ 5415][NOI 2018]归程 题意 给定一张无向图, 每条边有一个距离和一个高度. 再给定 \(q\) 组可能在线的询问, 每组询问给定一个点 \(v\) 和一个高度 \(h\), 鸭子德可以先无需花费地在高度大于 \(h\) 的边上任意行动, 然后可以在任意点开始以花费等于距离的模式行动. 问最小的花费. \(|V|\le 2\times 10^5,|E|\le 4\times 10^5,q\le 4\times 10^5,h\le 10…
[NOI2018]归程 LG传送门 kruskal重构树模板题. 另一篇文章里有关于kruskal重构树更详细的介绍和更板子的题目. 题意懒得说了,这题的关键在于快速找出从查询的点出发能到达的点(即经过海拔高于水位线的边能到达的点)中距离\(1\)号点最近的距离. 看上去可以kruskal,假设我们把边实现按海拔从大到小排序,考虑我们的重构树的性质:一个小根堆,任意一个点到根节点的路径上的点权单调不升,且这条路径上最浅的高于水位线的点\(u\)的子树中的所有叶节点就是这个点所能到达的所有点.di…
洛谷题目链接:[NOI2018]归程 因为题面复制过来有点炸格式,所以要看题目就点一下链接吧\(qwq\) 题意: 在一张无向图上,每一条边都有一个长度和海拔高度,小\(Y\)的家在\(1\)节点,并且他有一部车,车只能在海拔高度大于降水量的道路上行驶,如果某一条边的海拔高度小于等于降水量,那么小\(Y\)就必须下车步行,现在有\(q\)次询问,每次询问从目标点到\(1\)要步行的最短距离.强制在线. 题解: 这题我采用的做法是kruskal重构树. 可能大家对kruskal重构树并不是很熟悉,…
P4768 [NOI2018]归程 题目描述 本题的故事发生在魔力之都,在这里我们将为你介绍一些必要的设定. 魔力之都可以抽象成一个 \(n\) 个节点.\(m\) 条边的无向连通图(节点的编号从 \(1\) 至 \(n\)).我们依次用 \(l,a\) 描述一条边的长度.海拔. 作为季风气候的代表城市,魔力之都时常有雨水相伴,因此道路积水总是不可避免的.由于整个城市的排水系统连通,因此有积水的边一定是海拔相对最低的一些边.我们用水位线来描述降雨的程度,它的意义是:所有海拔不超过水位线的边都是有…
BZOJ_5415_[Noi2018]归程_kruscal重构树+倍增 Description www.lydsy.com/JudgeOnline/upload/noi2018day1.pdf 好久不写题解了,趁着周末都更一下吧. 处理出以1为起点的最短路dis. 考虑每次只能走海拔大于p的边,用kruscal重构树维护一个以海拔为关键字的最大生成树. 这样我们每次能走的连通块就是一个重构树中的一个子树. 倍增找一下是哪棵子树,子树取dis的最小值即可. 代码: #include <cstdio…
题解 NOI2018 归程 题意 本题的故事发生在魔力之都,在这里我们将为你介绍一些必要的设定. 魔力之都可以抽象成一个 n 个节点.m 条边的无向连通图(节点的编号从 1 至 n).我们依次用 l,a 描述一条边的长度.海拔. 作为季风气候的代表城市,魔力之都时常有雨水相伴,因此道路积水总是不可避免 的.由于整个城市的排水系统连通,因此有积水的边一定是海拔相对最低的一些边.我们用水位线来描述降雨的程度,它的意义是:所有海拔不超过水位线的边都是有积水的. Yazid 是一名来自魔力之都的OIer…
[NOI2018]归程 题面太长辣,戳这里 模拟赛上写了一个spfa (关于spfa,它已经死了),然后一个st表水完暴力跑路.考后说是Kruscal重构树或者可持久化并查集???这都是些什么东西.不过还是填一下这个坑. STO YZK IOI2020捧杯<---学习笔记 然后自己yy写了重构树,感觉代码还算优美??吧 数组又又又又又又又又又开小了,dis数组也要开2*N. #include<bits/stdc++.h> #define Min(a,b) (a)<(b)?(a):(…