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 video solution AI分析

思路

将问题建模为带权图最短路:

  • 从 iii 到 aia_iai​ 的有向边,权重为 000。
  • 从 iii 到 i−1i-1i−1、i+1i+1i+1 的边(若存在),权重为 111。 要求从 111 到所有点的最短路,权值和等于步行次数。

由于边权只为 000 或 111,使用 000-111 BFS:

P3534.第2题-多多的魔法森林

    1000ms Tried: 274 Accepted: 74 Difficulty: 4 所属公司 : 拼多多
    算法与标签>BFS

题目内容

在一片神奇的魔法森林中,有 nnn 个魔法节点,每个节点都有一个传送门。第 iii 个节点的传送门会把你传送到 aia_iai​ 号节点。

多多每次可以选择坐传送门从 iii 节点传送到 aia_iai​ 节点,或者选择步行到相邻的节点 i−1i-1i−1 或 i+1i+1i+1 节点。

当然多多是个喜欢偷懒的人,所以它能坐传送门就尽量不步行。

现在多多从 111 号节点出发,想知道到达每个节点需要经过的最少步行次数。

输入描述

输入两行,第一行包含一个数字 n(1<=n<=100000)n(1<=n<=100000)n(1<=n<=100000) ,表示有 nnn 个节点。

接下来一行 nnn 个数字,每个数字 ai(1<=ai<=n)a_i(1<=a_i<=n)ai​(1<=ai​<=n) ,表示 iii 节点的传送门可以传送到 aia_iai​ 节点,注意 aia_iai​ 可能等于 iii

输出描述

输出一行包含 nnn 个数字,第 iii 个数字 ansians_iansi​ ,表示从 111 号节点到 iii 号节点的最少步行次数

样例1

输入

3
1 2 3

输出

0 1 2

样例2

输入

4
4 2 3 1

输出

0 1 1 0

开通会员即可查看完整视频题解: 1.题目讲解 2.思路分析 3.逐行代码手写

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


ScanQRCodePrompt

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

Forgot password or username?