题意:

给定一个 \(n\) 个点的树,每条边有权值 \(t\) 和 \(c\)。一条路径的权值为所经过节点的 \(\max(c)\)。

每个点有权值 \(e\)。

给出 \(q\) 个询问,每次询问给定起点 \(x\) 和限制 \(v\),求一条简单路径满足路径上所有边的 \(t\) 都大于等于 \(v\),且终点的点权最大,在这个基础上这条路径的权值最大。求这个最大点权和最大路径权值。

首先考虑离线,把询问按 \(v\) 从大到小排序,把边按 \(t\) 从大到小排序,类似双指针,就可以去掉这个限制。

若 \(e\) 互不相同,有一个显然的并查集维护连通块最大值及其编号的算法,再加上各种方法求任意两点间的最大边的边权。加入一条边,如果连通性有改变,相应的并查集维护的东西也要改变。

但是 e 相同时,上述操作需要微调。具体:只需要调整并查集的合并操作和最后的求值操作。

如果合并的两个区间的最大 e 不相同,就往大的一边赋值。如果相同,则需要多维护一个东西。需要维护每个联通块的最大权边,满足其两个端点对应的两个连通块都有整个连通块的最大 e。因为一定是一棵树,所以无论询问给定的起点在哪里,这条边都是可以被作为简单路径的一条边经过的——如果起点在左边,那走到右边的最大 e 一定会经过这条边,反之亦然。想象一下,若当前连通块有有很多个点的 \(e\) 都为最大 \(e\),如果最终答案不是维护的那个最大边,就一定在一些“边缘地段”,而边缘地段到任何一个最大 e 的路径,都一定要包含离其最近一个最大 e 的路径(走一端没有最大 e,另一端一定会碰到一个最大 e,碰到第一个之后才会碰到更多的)。

所以对于询问点,跟任意一个最大 e 求树上路径最大值,都等价于跟最近的最大 e 求树上路径最大值,对于这个最大值,再跟这个连通块维护的最大边取较大的一方,就是答案(最大路径权值)。至于第一个询问:最大点权,就是最大 e,容易维护。

CF1583H Omkar and Tours 题解的更多相关文章

  1. 洛谷 P1522 牛的旅行 Cow Tours 题解

    P1522 牛的旅行 Cow Tours 题目描述 农民 John的农场里有很多牧区.有的路径连接一些特定的牧区.一片所有连通的牧区称为一个牧场.但是就目前而言,你能看到至少有两个牧区通过任何路径都不 ...

  2. USACO 2.4 Cow Tours

    Cow Tours Farmer John has a number of pastures on his farm. Cow paths connect some pastures with cer ...

  3. Codeforces Round #447 (Div. 2) 题解 【ABCDE】

    BC都被hack的人生,痛苦. 下面是题解的表演时间: A. QAQ "QAQ" is a word to denote an expression of crying. Imag ...

  4. 洛谷P1522 牛的旅行 Cow Tours

    ---恢复内容开始--- P1522 牛的旅行 Cow Tours189通过502提交题目提供者该用户不存在标签 图论 USACO难度 提高+/省选-提交该题 讨论 题解 记录 最新讨论 输出格式题目 ...

  5. 洛谷P1522 [USACO2.4]牛的旅行 Cow Tours

    洛谷P1522 [USACO2.4]牛的旅行 Cow Tours 题意: 给出一些牧区的坐标,以及一个用邻接矩阵表示的牧区之间图.如果两个牧区之间有路存在那么这条路的长度就是两个牧区之间的欧几里得距离 ...

  6. [图论]牛的旅行 Cow Tours :Floyed-Warshall

    牛的旅行 Cow Tours 目录 牛的旅行 Cow Tours 题目描述 输入格式 输出格式 输入输出样例 输入 #1 输出 #1 解析 代码 题目描述 农民 John的农场里有很多牧区.有的路径连 ...

  7. [CF1536F] Omkar and Akmar(博弈论?组合数学)

    题面 [CF1536F] Omkar and Akmar 甲乙轮流在一个有 N N N 个位置的环上放字母(环上每个位置不同),每次可以放一个 A 或 B ,要求不能有相同的字母相邻,轮到某个人时不能 ...

  8. 2016 华南师大ACM校赛 SCNUCPC 非官方题解

    我要举报本次校赛出题人的消极出题!!! 官方题解请戳:http://3.scnuacm2015.sinaapp.com/?p=89(其实就是一堆代码没有题解) A. 树链剖分数据结构板题 题目大意:我 ...

  9. noip2016十连测题解

    以下代码为了阅读方便,省去以下头文件: #include <iostream> #include <stdio.h> #include <math.h> #incl ...

  10. BZOJ-2561-最小生成树 题解(最小割)

    2561: 最小生成树(题解) Time Limit: 10 Sec  Memory Limit: 128 MBSubmit: 1628  Solved: 786 传送门:http://www.lyd ...

随机推荐

  1. Centos 6 部署PPTP服务

    前言:PPTP使用一个TCP连接对隧道进行维护,使用通用路由封装(GRE)技术把数据封装成PPP数据桢通过隧道传送.可以对封装PPP桢中的负载数据进行加密或压缩. 注意:PPTP协议已经被IOS系统所 ...

  2. Java面试——不安全的集合类

    Java 中有许多的集合,常用的有List,Set,Queue,Map. 其中 List,Set,Queue都是Collection(集合),List<String>中<>的内 ...

  3. MySQL高性能索引策略和查询性能优化

    前缀索引和索引选择性 有时候需要索引很长的字符,这会让索引变得大且慢.一个策略是模拟哈希索引. 通常可以索引开始的部分字符,这样可以大大解约索引空间,提高索引效率.但这样会降低索引的选择性. 索引的选 ...

  4. ES5新增数组常见方法(indexof/forEach/map/filter)

    新增的数组常见方法:以下说明中,红色为必选参数,蓝色为可选参数 1.indexOf(data,start); 用于返回某个数组或者字符串中规定字符或者字符串的位置: var arr = [" ...

  5. Edge解决默认Bing搜索跳转到国内版的问题

    近期BingGPT申请通过以后,每次用PC端Edge去跳转的时候不管是否念Proxy咒都会进入国内版本Bing,排查得到默认Bing参数如下 因此,在edge://settings/searchEng ...

  6. 二进制安装Kubernetes(k8s) v1.26.1 IPv4/IPv6双栈 可脱离互联网

    二进制安装Kubernetes(k8s) v1.26.1 IPv4/IPv6双栈 可脱离互联网 https://github.com/cby-chen/Kubernetes 开源不易,帮忙点个star ...

  7. pysimplegui之画布,图形,表格和树结构元素

    画布元素 在我看来,tkinter Canvas 小部件是 tkinter 小部件中功能最强大的.虽然我尽我所能将用户与任何与 tkinter 相关的东西完全隔离,但 Canvas 元素是一个例外.它 ...

  8. JSON.parse 函数 (JavaScript)

    将 JavaScript 对象表示法 (JSON) 字符串转换为对象. 语法 参数 返回值 异常 以下示例使用 JSON.parse 将 JSON 字符串转换成对象. var jsontext = ' ...

  9. MySQL(二)字符集、比较规则与规范

    1 字符集的相关操作 MySQL8.0之前的版本,默认字符集为latin1,8.0及之后默认为utfmb3.utfmb4,如果以前的版本忘记修改默认的密码,就会出现乱码的问题. 1.1 修改步骤 修改 ...

  10. c++基本数据结构

    基本数据结构: 一.线性表 1.顺序结构 线性表可以用普通的一维数组存储. 你可以让线性表可以完成以下操作(代码实现很简单,这里不再赘述): 返回元素个数. 判断线性表是否为空. 得到位置为p的元素. ...