CF1583H Omkar and Tours 题解
题意:
给定一个 \(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 题解的更多相关文章
- 洛谷 P1522 牛的旅行 Cow Tours 题解
P1522 牛的旅行 Cow Tours 题目描述 农民 John的农场里有很多牧区.有的路径连接一些特定的牧区.一片所有连通的牧区称为一个牧场.但是就目前而言,你能看到至少有两个牧区通过任何路径都不 ...
- USACO 2.4 Cow Tours
Cow Tours Farmer John has a number of pastures on his farm. Cow paths connect some pastures with cer ...
- Codeforces Round #447 (Div. 2) 题解 【ABCDE】
BC都被hack的人生,痛苦. 下面是题解的表演时间: A. QAQ "QAQ" is a word to denote an expression of crying. Imag ...
- 洛谷P1522 牛的旅行 Cow Tours
---恢复内容开始--- P1522 牛的旅行 Cow Tours189通过502提交题目提供者该用户不存在标签 图论 USACO难度 提高+/省选-提交该题 讨论 题解 记录 最新讨论 输出格式题目 ...
- 洛谷P1522 [USACO2.4]牛的旅行 Cow Tours
洛谷P1522 [USACO2.4]牛的旅行 Cow Tours 题意: 给出一些牧区的坐标,以及一个用邻接矩阵表示的牧区之间图.如果两个牧区之间有路存在那么这条路的长度就是两个牧区之间的欧几里得距离 ...
- [图论]牛的旅行 Cow Tours :Floyed-Warshall
牛的旅行 Cow Tours 目录 牛的旅行 Cow Tours 题目描述 输入格式 输出格式 输入输出样例 输入 #1 输出 #1 解析 代码 题目描述 农民 John的农场里有很多牧区.有的路径连 ...
- [CF1536F] Omkar and Akmar(博弈论?组合数学)
题面 [CF1536F] Omkar and Akmar 甲乙轮流在一个有 N N N 个位置的环上放字母(环上每个位置不同),每次可以放一个 A 或 B ,要求不能有相同的字母相邻,轮到某个人时不能 ...
- 2016 华南师大ACM校赛 SCNUCPC 非官方题解
我要举报本次校赛出题人的消极出题!!! 官方题解请戳:http://3.scnuacm2015.sinaapp.com/?p=89(其实就是一堆代码没有题解) A. 树链剖分数据结构板题 题目大意:我 ...
- noip2016十连测题解
以下代码为了阅读方便,省去以下头文件: #include <iostream> #include <stdio.h> #include <math.h> #incl ...
- BZOJ-2561-最小生成树 题解(最小割)
2561: 最小生成树(题解) Time Limit: 10 Sec Memory Limit: 128 MBSubmit: 1628 Solved: 786 传送门:http://www.lyd ...
随机推荐
- IDEA2022中部署Tomcat Web项目
使用工具: IDEA2022 Tomcat9.0.4 1.下载Tomcat: 官网:https://tomcat.apache.org/ 找到需要的版本下载即可,下载完成解压即可用: Tomcat目录 ...
- JVM 监控和故障处理总结
JDK命令工具 jps (JVM Process Status):类似 UNIX 的 ps 命令.用户查看所有 Java 进程的启动类.传入参数和 Java 虚拟机参数等信息 jstat (JVM S ...
- SimpleAdmin手摸手教学之:项目架构设计2.0
一.说明 在SimpleAdmin1.0版本中,我将整体项目结构分为三大块,分别为架构核心.业务模块和应用服务.随着1.0版本的封版,回去再看我之前的项目架构,也暴露了一些问题,比如在1.0版本中,S ...
- Mybatis 获取自增主键 useGeneratedKeys与keyProperty解答
Mybatis 获取自增主键 31bafebb-a95b-4c35-a949-8bc335ec6e2e 今天开发的时候遇到一个疑惑,业务场景是这样的, 但是百度好久没有找到合适的解答,于是自己向同事了 ...
- 创建用户认证授权的 kubeconfig 文件
创建用户认证授权的 kubeconfig 文件 当我们安装好集群后,如果想要把 kubectl 命令交给用户使用,就不得不对用户的身份进行认证和对其权限做出限制. 下面以创建一个 cby 用户并将其绑 ...
- Golang 常用库之jwt-go
本文地址 https://www.cnblogs.com/zichliang/p/17303759.html github地址:https://github.com/dgrijalva/jwt-go ...
- OpenAI API
OpenAI API Documentation https://platform.openai.com/docs/models/overview GPT 迭代过程 版本 发布时间 训练方案 参数量 ...
- Godot报错 Node not found: "SubViewport"[一问随笔]
问题: 使用TextureRect显示SubViewport的内容,结果发生了如下报错 E 0:00:01:0007 get_node: Node not found: "SubViewpo ...
- node 请求接口,返回大小限制
请求Node端中转接口时,遇到以下异常: Request_fileSize_limit Request_fields_limit Request_fieldSize_limit 遇到以上异常时,调试信 ...
- 2023-04-29:一个序列的 宽度 定义为该序列中最大元素和最小元素的差值。 给你一个整数数组 nums ,返回 nums 的所有非空 子序列 的 宽度之和 由于答案可能非常大,请返回对 109
2023-04-29:一个序列的 宽度 定义为该序列中最大元素和最小元素的差值. 给你一个整数数组 nums ,返回 nums 的所有非空 子序列 的 宽度之和 由于答案可能非常大,请返回对 109 ...