7.24 树上问题2笔记
T1
题目
• 有一棵点数为
• 有
•
Solution
• 设询问
• 如果
• 考虑以下几种情况:
到 的距离相等,那么 中除了包含 的两棵子树上的点,其他点都满足。 到 的距离不相等,假设 到 距离更远,则中点到 的距离为 。从 为起点往上走 的距离,设该点为 ,那么 为根的子树,除了 所在的子树,其他点都可以作为中点。
• 时间复杂度为
T2
• 给你一个以
• 每回询问
• 求出是否有一条以根节点为一端的链使得询问的每个节点到此链的距离均
• 只需输出可行性, 无需输出方案。
•
Solution
• 如果要经过一个节点,会有三种情况:
- 经过它的父亲。
- 经过它本身。
- 经过它的两个及以上的儿子(这样才能覆盖节点)。
• 但是题目给的是一个有根树,所以要想经过一个节点或者它的儿子就必须经过它的父亲,所以题目就变成了让我们满足链经过给出节点的父亲节点。
• 我们可以按照深度从小到大排序后,依次判断相邻两个点中深度大的是否在深度小的子树内即可,可以用
T3
T4
题目
• 给一棵
•
Solution
• 神仙题。。。
• 遍历所有的边,如果边的两端颜色不一样,那么就将这条边权置成
T5
题目
• 有一棵点数为
• 有
:将 为根的子树涂上 号颜色 (颜色不会覆盖,全部共存) :询问 为根的子树颜色丰富度,表示为所有子树节点颜色种类数相加 (每个点单独计算)
• 。
Solution
• 码量巨大的sb题。
• 可以利用时间戳的性质(同个子树内节点编号是连起来的)写线段树。
• 然后维护一个
- 如果点
要染上颜色 ,那么他在 里的子孙就可以删除了,这点可以暴力实现。 - 然后如果点
要染上 ,且发现他的祖先已经在 中,就是染过了,那么这次修改就可以忽略了。
T6
题目
• 给定
•
• 计算出
•
Solution
贺的题解
• 首先表示状态。
•
•
•
• 考虑转移。
• 如果这个节点是 '(',那么
• 如果是 ')',但
• 如果是 ')',且
,也就是说 和 匹配之后上一个没有匹配的就是 。 ,也就是说连续的括号数是 的连续括号数加 。 ,这里匹配了之后,会形成 个新的合法串。
• 遍历一遍即可。
T7
题目
没有题面。。。
Solution
• 题解,懒得写了qwq。
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· 地球OL攻略 —— 某应届生求职总结
· 周边上新:园子的第一款马克杯温暖上架
· Open-Sora 2.0 重磅开源!
· 提示词工程——AI应用必不可少的技术
· .NET周刊【3月第1期 2025-03-02】