当前位置: 首页 > news >正文

数据结构题

P15108 白井黑子

考虑首先你应当要能在树上遍历,因此我们需要有一个邻接表,考虑用 \(a_u\)\(u\) 的第一个儿子,\(f_u\)\(u\) 的一个兄弟(不存在都设为 0)。容易遍历一遍 \(f\) 数组构建出该邻接表。

接下来考虑在树上 dfs,如果允许使用 \(fa(u)\) 函数的话是简单的:

  • 设当前点 \(u\)
    • 如果 \(a_u\) 不为 \(0\) 就令 \(u\leftarrow a_u\)
    • 如果 \(a_u\)\(0\)\(f_u\) 不为 \(0\) 就令 \(u\leftarrow f_u\);否则就不断跳父亲 \(fa(u)\) 直到 \(f_u\) 存在。

可以用 \(a_u\) 存储 \(u\) 被遍历的时间,然后就可以求出 DFS 序了。

如果不允许使用 \(fa(u)\),我们考虑在每个点的最后一个儿子的 \(f_u\) 设为 \(fa(u)\),然后接下来我们希望用 \(a_u\) 来表示 \(u\) 在 DFS 序上的下一个点是 \(a_u\),即把所有点串起来。

另外,我们需要区分 \(f_u\) 表示的是 \(u\) 的兄弟还是父亲,这个只需要判断 \(f_u\) 是否遍历过。我们可以当每次沿着 \(f_u\) 走过之后,将 \(f_u\) 变成 \(0\)。这样,如果 \(a_u=0\)\(u\) 是叶子)或者 \(f_{a_u}\neq 0\),我们就可以知道 \(u\) 没有访问过。

最后遍历 \(a_u\) 得到 DFS 序即可。

http://www.jsqmd.com/news/382173/

相关文章:

  • 2026年知名的浙江特殊非标链条/传动链条工厂采购指南如何选(实用) - 行业平台推荐
  • 2026年评价高的衣柜家具五金/全品类家具五金厂家实力参考哪家质量好 - 行业平台推荐
  • 2026年评价高的裸眼3DLED显示屏/地砖LED显示屏实用供应商采购指南如何选 - 行业平台推荐
  • AI元人文总方法论:基于认知纪律的界面共生之道
  • 详细介绍:脑启发计算与类神经形态芯片的协同
  • 【计算机基础】-64-后摩尔时代计算机体系结构设计的核心范式:“通用基座 + 专用加速 + 软件抽象” = 低成本 + 高能效 + 易开发
  • 01]RichEdit学习汇总
  • 2026年专业的负氧离子床垫/佛山负氧离子床垫实力厂家口碑参考口碑排行 - 行业平台推荐
  • 2026年质量好的鼓风机/煤气加压风机热门品牌推荐口碑排行 - 行业平台推荐
  • 京东e卡闲置怎么回收变现划算快捷? - 抖抖收
  • 2026年护理床品牌选购对比:技术、品质、服务三维评测 - 资讯焦点
  • 2026年评价高的饺子皮叠皮机/云吞皮叠皮机公司实力参考哪家强(可靠) - 行业平台推荐
  • 2026年评价高的金属封边条/封边条可靠供应商参考推荐几家 - 行业平台推荐
  • 又一款国产开源企业级文件管理系统诞生了!基于 Spring Boot 3.5.x + Sa-Token + MyBatis Flex
  • 有名的智能体应用品牌公司哪家靠谱
  • OPC孵化器定义?AI黄校长权威背景到佛山造AI,解析OPC孵化器靠谱性行业地位 - 资讯焦点
  • 掌握长尾关键词的秘密,提高SEO与关键词优化的综合效果
  • 直接上结论:8个AI论文工具测评!专科生毕业论文写作必备指南
  • 我是昨天回来的
  • 2026年评价高的手办亚克力展示架/珠宝首饰亚克力展示架哪家靠谱实力工厂参考 - 行业平台推荐
  • 2026年有实力亚克力加工/亚克力制品热门品牌推荐口碑排行 - 行业平台推荐
  • 2026年比较好的商用全自动面条生产线/智能化鲜面条生产线哪家专业工厂直供推荐 - 行业平台推荐
  • 2026年正规的nfc标签公司口碑推荐哪家靠谱 - 行业平台推荐
  • 如何将 iPhone 上的联系人备份到 iCloud? - 教程
  • 什么是 “独立同分布”?
  • 2026年热门的F30喷涂四氟/模压PTFE加喷涂四氟哪家专业制造厂家实力参考 - 行业平台推荐
  • 2026年知名的钢板预处理线公司口碑推荐哪家靠谱 - 行业平台推荐
  • 五、Claude Opus 4.6 认为 AGI 什么时候可以实现以及技术难点
  • 2026年专业的改性沥青设备制造厂家选购指南怎么选(精选) - 行业平台推荐
  • 高压电线电力巡检六类目标的图像识别数据集分享(适用于目标检测任务)