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分析

解题思路

  • 定义与要求 路径只能自上而下(父 → 子);相邻节点的值必须严格交替增减,且每一步的绝对差值 ≥ k。路径长度为路径中的节点数。

  • 算法:树形 DP(自顶向下或后序) 对每个结点 u 维护两种状态:

    • up[u]:从 u 出发,第一步向更大值的孩子走的最长交替路径长度。
    • down[u]:从 u 出发,第一步向更小值的孩子走的最长交替路径长度。

P4345.第1题-二叉树最长严格交替路径

    1000ms Tried: 232 Accepted: 40 Difficulty: 7 所属公司 : 华为
    算法与标签>动态规划

题目内容

给定一棵二叉树的根节点 rootrootroot 和一个整数 kkk ,定义一条严格交替路径如下:

路径方向:只能从父节点向子节点方向延伸(即路径必须自上而下)。

严格交替条件:路径中相邻节点的值必须交替递增和递减。例如,路径可以是 3→7→5→93→7→5→93→7→5→9 (即 3<7>5<9)3<7>5<9)3<7>5<9)

差值限制:每一步的绝对差值必须严格大于等于 kkk 。例如,若 k=2k=2k=2 ,则 3→73→73→7 是合法的(差值为 4>24 >24>2 ),但 3→43→43→4 不合法(差值为 1<21<21<2 ,不满足严格大于等于)。

“先减小后增加“和“先增加后减少”都算交替

请编写一个函数,返回这棵二叉树中最长严格交替路径的长度。路径长度定义为路径中节点的数量。

输入描述

第 111 行 NNN KKK

NNN 为树的元系数量,NNN 的范围为 [1,10000][1,10000][1,10000]

KKK 为阈值。KKK 的范围为 [1,100][1,100][1,100]

第 222 到第 N+1N+1N+1 行为按 XXX YYY ZZZ 表示一个二叉树节点和子节点的关系,其中 XXX 为父节点,YYY 为左节点,ZZZ 为右节点,缺失的叶子节点用 −1-1−1 表示。树的节点值 XXX YYY ZZZ 的取值范围为 [1,100000][1,100000][1,100000],元素的值不重复。从上到下按树的先序遍历方式排列

输出描述

输出 111 个数字,表示最长严格交替路径的长度

样例1

输入

6 10
20 10 -1
10 21 -1
21 -1 11
11 -1 22
22 12 -1
12 -1 -1

输出

6

说明

编入表示如下树

  1. ​ 20
  2. ​ /
  3. ​ 10
  4. ​ /
  5. ​ 21
  6. ​ \
  7. ​ 11
  8. ​ \
  9. ​ 22
  10. ​ /
  11. ​ 12

满足条件的最长路径为 20−>10−>20−>10−>20−>1020->10->20->10->20->1020−>10−>20−>10−>20−>10 ,长度为 666

样例2

输入

15 5
25 12 42
12 5 18
42 37 50
5 3 9
18 15 21
37 30 45
50 49 2
3 -1 -1
9 -1 -1
15 -1 -1
21 -1 -1
30 -1 -1
45 -1 -1
49 -1 -1
2 -1 -1

输出

4

说明

151515 101010 表示树的元素为 151515 个,阈值为 101010

12 5 18
42 37 50
5 3 9
18 15 21
37 30 45
50 49 2
3 -1-1
9 -1 -1
15 -1 -1
21 -1 -1
30 -1 -1
45 -1 -1
49 -1 -1
2 -1 -1

表示如下树

  1. ​ 10
  2. ​ / \
  3. ​ 5 15
  4. ​ / \ \
  5. ​ 3 8 20
  6. ​ / /
  7. ​ 7 18

满足条件的最长路径为 10−>5−>810->5->810−>5−>8

样例3

输入

8 3
10 5 15
5 3 8
15 -1 20
3 -1 -1
8 7 -1
20 18 -1
7 -1 -1
18 -1 -1

输出

3

说明

888 333 表示树的元素为 888 个,阈值为 K=3K=3K=3

8 3
10 5 15
5 3 8
15 -1 20
3 -1 -1
8 7 -1
20 18 -1
7 -1 -1
18 -1 -1

表示如下树

  1. ​ 10
  2. ​ / \
  3. ​ 5 15
  4. ​ / \ \
  5. ​ 3 8 20
  6. ​ / /
  7. ​ 7 18

满足条件的最长路径为 10−>5−>810->5->810−>5−>8

登录后即可使用 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, 46ms
  3. Powered by Hydro v5.0.0-beta.18 Community
CLOSE


ScanQRCodePrompt

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

Forgot password or username?