DFS 序

news/2025/11/6 21:55:53/文章来源:https://www.cnblogs.com/sqqqz185/p/19197850

思想

  • 对于树结构,通常包括进入节点和离开节点的两次记录(即时间戳),形成一个长度为2N的序列(N为节点数)。

性质

  • 子树连续性‌:同一子树的节点在DFS序中形成连续区间。例如,根节点的子树区间包含所有子节点的访问记录。 ‌
    这个性质使得在子树上进行的修改、查询可以转换成区间修改、区间查询。dfs序的主要作用就是将一个子树变成序列上的一个连续区间。设in[x]为进入当前节点时的时间,out[x]为离开当前节点时的时间,那么子树x在dfs序里所对应的范围就是in[x]~out[x]。

  • 括号化定理‌:若节点A的进入时间小于节点B的进入时间,且A的离开时间大于B的离开时间,则B是A的子节点。

  • 线性化处理‌:DFS序将树结构转化为线性序列,便于使用线段树、树状数组等算法解决树上问题。

做法

  • 子树操作:子树问题直接对应DFS序列上的一个连续区间。

  • 路径操作:路径问题通常需要结合LCA,将路径拆解为u->lca和lca->v两部分处理。

工具

  • LCA(最近公共祖先):用于处理路径问题,常用倍增法或树链剖分求解。
  • 树状数组/线段树:用于高效处理DFS序列上的区间修改与查询。
  • 树上差分:巧妙地将路径修改转化为少量点的修改。
  • 主席树(可持久化线段树):用于处理树上路径的区间查询,例如查询路径上第k大的数。

拓展应用

  • 虚树

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/958139.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

重组蛋白纯化标签科普:从His到SUMO、Avi的全面解析

重组蛋白纯化标签科普:从His到SUMO、Avi的全面解析在蛋白研究与生物技术服务中,重组蛋白表达 是最核心的基础技术之一。无论是科研实验、结构分析还是功能验证,获取高纯度、高活性的蛋白是实验成功的关键。为了从复…

2025.11.6

今天上午两节课,下午开团会,然后出去吃饭

飞牛nas播放卡顿的解决方案

搭建了飞牛nas,没有使用飞牛的账号,直接用的外网IP做了端口映射,前期用的还好,突然有一天,不管是网页播放视频,还是客户端播放,都变得非常卡,几乎不能用。查看后台,网络上传只有几十KB,各个部件的资源占用都…

第三十五篇

今天是11月6号,上了数据结构和体育

使用LLaMA Factory微调模型笔记

大模型微调 1、模型微调概念 大模型微调(Fine-tuning)是指在预训练的大规模语言模型基础上,针对特定任务或领域进行进一步训练的过程。预训练模型通常是在大量通用文本数据上训练得到的,具有丰富的语言知识和理解能…

25.11.6联考题解

A 一眼题。看到位运算计数考虑拆位。 B 肯定先要期望转计数,最后除掉总方案数 \((n(s+1))^m\)。最初的想法是考虑每一个位置的情况,考虑一个位置 \(x\) 受到的影响范围是 \(\text{lowbit}(x)\) 的,注意到每个位置是…

Linux驱动学习(一)---Ubuntu-helloworld驱动编译

最近想学习Linux内核驱动开发,了解了一些关于Linux的基础知识(看的B站汪晨的视频,CSDN有个博主也总结了这个视频的内容)配置了开发环境,即在windows10上安装了VMware,在VMware里安装了Ubuntu22,前面的搞定之后,…

2025/11/3 ~ 2025/11/9 做题笔记 - sb

2025/11/6 做题笔记 #9127. Optimal Train Operation 之前遗留下来的斜率优化,因为题面是英文一直没看在每一个点修建地铁站的代价是 \(a_i\),每两个地铁站之间的代价是 \((j - i + 1)\max\limits_ {i \le k \le j}c…

利用Google Dork挖掘敏感文件setup.sh的技术解析

本文详细解析了如何使用Google Dork语法"intitle:index of setup.sh"来发现互联网上公开的敏感配置文件setup.sh,这些文件可能包含服务器配置信息、数据库凭证等关键数据,对网络安全评估具有重要意义。Goo…

11.6 程序员的修炼之道:从小工到专家 第四章 注重实效的偏执 - GENGAR

这五节内容围绕编程中的容错设计、逻辑校验和资源管理展开,核心是通过科学的编码规范与工具,尽早发现问题、降低隐患,提升程序可靠性。 按合约设计(DBC)是核心校验理念,通过前条件、后条件和类不变项明确模块的权…

2025.11.6~?

2025.11.6 复盘,上午平复了一下心情 做了P2375,首先注意题中说的数量,然后发现nxt树组指的是前缀和后缀相等,数量的话,直接用nxt递推即可,然后至于不交,就维护一直不交,然后用nxt的答案即可 做了P3426,最开始…

详细介绍:自建数字资源库:技术架构全解析

pre { white-space: pre !important; word-wrap: normal !important; overflow-x: auto !important; display: block !important; font-family: "Consolas", "Monaco", "Courier New", …

人工智能价值权衡的元理论:三值纠缠与文明演进的动力学框架

人工智能价值权衡的元理论:三值纠缠与文明演进的动力学框架 摘要:随着人工智能在复杂决策中扮演日益重要的角色,其面临的核心挑战已从单纯的价值对齐转向如何在多元、动态且时常冲突的人类价值中进行权衡。本文系统…

golang面经——内存相关模块 - 详解

pre { white-space: pre !important; word-wrap: normal !important; overflow-x: auto !important; display: block !important; font-family: "Consolas", "Monaco", "Courier New", …

11/7

今天上午体育课比赛但没轮到我们组,说实话我感觉我们组如果上了应该可以拿个好名次,看完他们比赛

QOJ4795 Taxi

题意简述 给定一颗 \(n\) 个点的树,边有边权。有 \(m\) 个独立的乘客和 \(m\) 个独立的司机,每个人选一个节点。将乘客与司机匹配,使得距离之和最大。 求所有 \(n^{2m}\) 种可能情况的距离之和 \(\bmod 10^9+7\)。 …

蓝牙耳机怎么连接电脑?【图文详解】蓝牙耳机连接电脑?蓝牙耳机能连接电脑吗?USB蓝牙适配器? - 详解

蓝牙耳机怎么连接电脑?【图文详解】蓝牙耳机连接电脑?蓝牙耳机能连接电脑吗?USB蓝牙适配器? - 详解pre { white-space: pre !important; word-wrap: normal !important; overflow-x: auto !important; display: bl…

AI浪潮下的就业迷思:技术迭代还是泡沫破灭?

最近刷到一堆AI相关的新闻,从OpenAI和亚马逊签下天价算力订单,到谷歌推出能预警洪水的地球级AI,再到微软自研图像模型减少对OpenAI的依赖,感觉整个科技圈都在疯狂押注AI。但作为一个学软件的学生,我反而有点焦虑:…

洛谷 P4159

给定一个 \(n\) 个节点的有向图,连接 \((i, j)\) 的有向边边权为 \(c_{i, j}(0 为没有边)\),问有多少种从 \(1\) 到 \(n\) 的方式使得经过的边边权之和为 \(k\)。 \(n \le 10, c \le 9, k \le 10^9\)。如果 \(c\) 只…

25.11.6 DAG和拓扑排序

一.DAG即有向无环图,常用于: 任务依赖:某任务必须在另一个任务完成后执行(如编译依赖、任务调度)。 课程顺序:先修课关系。 表达式计算顺序。 动态规划优化:例如在 DAG 上进行最长路径、最短路径 DP。 二.拓扑排…