1. Job Roadmap
  2. Home
  3. Problem Set
  4. codenotelist
  5. Forum
  6. course
  7. Shore Share Sessions
  8. Record
  1. Login
  2. Sign Up
  3. Language
    1. English
    2. 한국어
    3. 简体中文
    4. 正體中文
    ZhContent TextSol AI分析

解题思路

给定父数组描述的二叉树,我们要找一条“任意点出发、沿父↔子边走、节点不重复”的路径,使得节点权值之和最大。这是经典的“二叉树最大路径和”问题,可用一次后序遍历的树形动态规划解决。

相关算法:树形 DP + 一次后序遍历(Postorder)

对每个节点 uuu,维护两个量:

  1. down[u]:从 uuu 出发、向下走到某个子孙的单臂最佳路径和(允许不选子树,等价于与 0 取较大)。

P3855.第3题-二叉树路径

    1000ms Tried: 35 Accepted: 11 Difficulty: 6 所属公司 : 网易
    算法与标签>动态规划

题目内容

二又树里面的路径被定义为:从该树的任意节点出发,经过父=>子或者子=>父的连接,达到任意节点的序列。

注意:

1.同一个节点在一条二叉树路径里中最多出现一次

2.一条路径至少包含一个节点,且不一定经过根节点

给定一个二叉树,请你计算它的最大路径和例如:

给出以下的二叉树:

最优路径是:2=>1=>32=>1=>32=>1=>3,或者 3=>1=>23=>1=>23=>1=>2,最大路径和 =2+1+3=6=2+1+3=6=2+1+3=6

数据范围:节点数满足 0≤n≤1050≤n≤10^50≤n≤105 ,节点上的值满足 ∣val≤1000|val ≤ 1000∣val≤1000

要求:空间复杂度 O(1)O(1)O(1) ,时间复杂度 O(n)O(n)O(n)

输入描述

第一行输入一个正整数 nnn 表示二叉树的节点数

第二行输入 nnn 个整数表示二叉树上第 iii 个节点的值

第三行输入 nnn 个整数表示二叉树上第 iii 个节点的父节点是第几个节点,(其中第一个节点是根节点,其父节点表示为第零个节点 000 )。

输出描述

输出最大路径和

样例1

输入

3
1 2 3
0 1 1

输出

6

样例2

输入

5
-20 8 20 15 6
0 1 1 3 3

输出

41

登录后即可使用 AI 分析。

模式
倒计时时长
:

最长 10 小时 59 分;应用后按此时长重新开始。

提示:点击提交记录在左侧题面区域查看详情
题库
AI分析设置
留空使用官方API Key,每天有次数限制(自定义API Key仅限会员和管理员使用,不限次数)
会员和管理员可切换模型;切到 Kimi/智谱/通义/豆包时需填写对应供应商 API Key
升级会员,可将运行与提交冷却时间缩短至 1 秒起

Status

  • Judging Queue
  • Service Status

Development

  • Open Source

Support

  • Help
  • Contact Us

About

  • About
  • Privacy
  • Terms of Service
  • Copyright Complaint
  1. Language
    1. English
    2. 한국어
    3. 简体中文
    4. 正體中文
  2. Legacy mode
  3. Theme
    1. Light
    2. Dark
  1. 京ICP备2025123107号-1
  2. Worker 1, 184ms
  3. Powered by Hydro v5.0.0-beta.18 Community
CLOSE


ScanQRCodePrompt

请使用微信扫描下方二维码完成注册

Forgot password or username?