题意:

给定一个 \(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. 跨域解决方案CORS

    这里说的 js 跨域是指通过 js 在不同的域之间进行数据传输或通信,例如通过 ajax 向一个不同的域请求数据,或者通过 js 获取页面中不同域中(iframe)的数据.只要协议.域名.端口有任何一 ...

  2. 在线调试工具 Arthas

    Arthas(阿尔萨斯) 是 Alibaba开源的一款 Java在线诊断工具,能够分析,诊断,定位Java应用问题,例如:JVM信息,线程信息,搜索类中的方法,跟踪代码执行,观测方法的入参和返回参数等 ...

  3. windows下使用docker安装hyperf

    https://blog.csdn.net/weixin_39398904/article/details/128469190 http://wiki.fengfengphp.com/zh-cn/ba ...

  4. Install Ansible on CentOS 8

    环境准备: 1.至少俩台linux主机,一台是控制节点,一台是受控节点 2.控制节点和受控节点都需要安装Python36 3.控制节点需要安装ansible 4.控制节点需要获得受控节点的普通用户或r ...

  5. 随机分布和随机数生成——R语言

    在人们的生活中,很多场景都需要用到随机数,例如福利彩票,车牌摇号,公共用房分配等.在用数学模型, 包括概率统计模型处理实际应用中的问题时, 我们希望建立的模型能够尽可能地符合实际情况.但是,实际情况是 ...

  6. linux下的一道堆上的格式化字符串漏洞题分析分享

    简单分享一下解题过程. 下载题目,里面有三个文件,如图: DockerFIle文件: net.sh文件: shell文件是一个elf,文件情况: 64位,Full RELO,NX,PIE 丢进IDA看 ...

  7. [git] 规范Commit格式

    规范Commit格式 Jenkins根据对比当次构建和上次构建的Commit信息来生成ChangeLog,但因为我们目前的提交不够规范,经常有类似"#","update& ...

  8. 【Dotnet 工具箱】WPF UI - 现代化设计的开源 WPF 框架

    1.WPF UI - 现代化设计的开源 WPF 框架 WPF UI 是一个基于 C# 开发的, 拥有 4k star 的开源 UI 框架.WPF UI 在 WPF 的基础上,提供了更多的现代化,流利的 ...

  9. 做个清醒的程序员之拥抱AI

    阅读时长约 13 分钟,共计约 3100个字. 昨天我体验了AI自动生成短视频,具体说来,首先我在域名为FreeGPT的免费网站,向它提问,然后生成一段文字.之后呢,再用剪映里面的"图文成片 ...

  10. Java中的自动装箱与自动拆箱

    前言 在Java中,基本数据类型与其对应的封装类之间可以进行自动转换,这种特性称为自动装箱(autoboxing)和自动拆箱(unboxing).自动装箱和自动拆箱使得我们在使用基本数据类型时更加方便 ...