UOJ #30. [CF Round #278] Tourists】的更多相关文章

UOJ #30. [CF Round #278] Tourists 题目大意 : 有一张 \(n\) 个点, \(m\) 条边的无向图,每一个点有一个点权 \(a_i\) ,你需要支持两种操作,第一种操作修改一个点的点权,第二种操作给出 \(u, v\),求一个点 \(x\) ,存在一条 \(u-x-v\) 不经过重复点的路径且 \(a_x\) 最小 \(1 \leq n,m \leq 10^5\) 解题思路 : ​ 考虑如果 \(u-x\) 和 \(x-v\) 经过了同一个割点,那么一定不合法…
我写这篇博客的原因 证明我也是学过圆方树的 顺便存存代码 前置技能 双联通分量:点双 然后就没辣 圆方树 建立 新建一个图 定义原图中的所有点为圆点 对于每个点双联通分量(只有两个点的也算) 建立一个方点,向所有的点双内的点连边 性质 一定是个森林 每个点双有唯一的方点 圆点方点相间分布,相同点不相邻 等等 例子 1 题面 求可以出现在两点之间的简单路路径上的点的最大权值,不带修改 分析 考虑用圆方树来解决 设圆点权值为本身,方点权值为点双中的最大权值 那么就是树上的路径最大权值 例子 2 还是…
给定一个n个点m条边的无向图,求图上的两点的所有的简单路径之间的最小边. 蓝链 $ n,m,q \leq 100000, w_i \leq 10 ^7$ Solution 考虑建立用缩点双来建立广义圆方树,然后方点的值是当前点双内最小的点 ,这样就直接维护树上的最小值就可以了. 但如果更新的是根节点.那么他的每个方儿子都会被更新.所以特别处理一下根节点即可.记方点权值为除根节点外的点.特别处理一下即可. Code #include<bits/stdc++.h> using namespace…
求从$ x$走到$ y$的路径上可能经过的最小点权,带修改  UOJ #30 $ Solution:$ 如果两个点经过了某个连通分量,一定可以走到这个连通分量的最小值 直接构建圆方树,圆点存原点的点权,方点用$ multiset$存连通分量的点权集合,权值为集合中的最小值 每次询问就变成求圆方树中一条树链的最小值,可以用树链剖分维护 考虑修改一个圆点的点权 对于这个圆点直接修改,但如果暴力修改周围方点,复杂度明显爆炸 我们修改一下方点的定义,改为这个连通分量中除了自己父亲圆点外其他圆点的最小权值…
Description Cyberland 有 n 座城市,编号从 1 到 n,有 m 条双向道路连接这些城市.第 j 条路连接城市 aj 和 bj.每天,都有成千上万的游客来到 Cyberland 游玩. 在每一个城市,都有纪念品售卖,第 i 个城市售价为 wi.这个售价有时会变动. 每一个游客的游览路径都有固定起始城市和终止城市,且不会经过重复的城市. 他们会在路径上的城市中,售价最低的那个城市购买纪念品. 你能求出每一个游客在所有合法的路径中能购买的最低售价是多少吗? 你要处理 q个操作:…
1.感谢taorunz老师 2.题目大意:就是给个带权无向图,然后有两种操作, 1是修改某个点的权值 2是询问,询问一个值,就是u到v之间经过点权的最小值(不可以经过重复的点) 操作数,点数,边数都不超过100000 3.分析:首先看这道题,就感觉用双联通+树剖搞一搞可以过,可是怎么搞呢 首先双联通是必然的了,可是正常的缩点+树剖会爆零随便试试就知道了 然后我们需要不正常的缩点,我们在正常的缩点后加入割点,割点向它所属的一切双联通分量连边 这样,我们就不怕询问的u和v中有割点了,可是虽然询问是l…
圆方树第二题…… 图中询问的是指定两点之间简单路径上点的最小权值.若我们建出圆方树,圆点的权值为自身权值,方点的权值为所连接的圆点的权值最小值(即点双连通分量中的最小权值).我们可以发现其实就是这两点在圆方树上经过的点的最小权值,因为在这上面若经过了一个方点,说明可以经过这个点双连通分量中任何一个点并且到达想到的点.(方点所连接的点都是相互可达的). 所以问题转化为了求树上两点之间路径的最小点权.并且需要注意的是:链顶的点需要把它的父亲节点也考虑进来,因为它的父亲节点与它是属于同一个双连通分量的…
- 学习了一波圆方树 学习了一波点分治 学习了一波可删除堆(巧用 ? STL) 传送门: Icefox_zhx 注意看代码看怎么构建圆方树的. tips:tips:tips:圆方树内存记得开两倍 CODE #include <vector> #include <queue> #include <cstdio> #include <cctype> #include <cstring> #include <algorithm> using…
E. Tourists time limit per test: 2 seconds memory limit per test: 256 megabytes input: standard input output :standard output There are n cities in Cyberland, numbered from 1 to n, connected by m bidirectional roads. The j-th road connects city aj an…
传送门 好毒瘤的一道题QAQ,搞了好几好几天. UOJ上卡在了53个点,CF上过了,懒得优化常数了 刚看时一眼Tarjan搞个强连通分量然后缩点树链剖分xjb搞搞就行了,然后写完了,然后WA了QAQ. 思考了一会把代码全删了,加了个mulutiset重写一遍,然后又是各种WA. 然后去看了POPOQQQ大爷的代码.原来把无向图缩成一个树用的是点双联通分量,搞不清图论的概念只能自扇脸.. 然后去研究了点双联通分量,搞了一道题,顺便给Trajn搞了个小总结. 这道题其实就是缩点然后剖剖剖.但是我的姿…