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

解题思路

  • 将状态扩展为分层图:层编号为已使用好石次数 c∈[0,k]c\in[0,k]c∈[0,k],状态为 (v,c)(v,c)(v,c)。

  • 转移分两类(设到达点为 vvv,边基础代价为 www):

    • 不用好石:层内转移 (u,c)→(v,c)(u,c)\to(v,c)(u,c)→(v,c),代价 w+max⁡(av,0)w+\max(a_v,0)w+max(av​,0)(坏石必加、好石不加)。
    • 用好石(仅当 av<0a_v<0av​<0 且 c<kc<kc<k):跨层 (u,c)→(v,c+1)(u,c)\to(v,c+1)(u,c)→(v,c+1),代价 w+avw+a_vw+av​(可能为负)。
  • 由于层内边权均为非负(至少 w≥1w\ge 1w≥1),可用 k+1k+1k+1 次 Dijkstra 的分层松弛套路:

P3390.第3题-奇幻王国魔法石

    1000ms Tried: 80 Accepted: 13 Difficulty: 6 所属公司 : 美团
    算法与标签>最短路算法

题目内容

在一个奇幻王国里,有 nnn 个城市(编号依次为 111 到 nnn )和 mmm 条双向道路,第 iii 条道路连接城市 uiu_iui​ 和 viv_ivi​ , 基础通行时间为正整数 wiw_iwi​ 。此外,王国中每个城市都存在 111个中枢魔法石,每个魔法石有一个能量值,非负能量值的魔法石称之为「坏魔法石」,负数能量值的魔法石称之为「好魔法石」,坏魔法石会增加通行所需时间,好魔法石会减少通行所需时间(增加和减少的时间即为能量值的多少),如果好魔法石足够强力,甚至可以实现时间倒流。

坏魔法石将会强制生效,导致基础通行时间增加,无法被控制。

好魔法石可以控制,选择是否生效,但使用好魔法石的总次数存在限制,第 kkk 次使用好魔法石生效以后,之后将无法利用任何城市的好魔法石来减少通行时间。换句话说,单次行程中好法石总使用次数不超过 kkk 次。

魔法石不会消失,可以多次使用。

当你从城市 uuu 前往城市 vvv 时,路径的实际通行时间计算如下:

通行时间=城市 uuu 到城市 vvv 的道路基础通行时间加上城市 vvv 生效的魔法石能量值。

请计算从城市 111 到城市 nnn 的最小实际通行时间,注意,您可以重复经过城市和道路。特别地,如果无论如何都无法到达城市 nnn ,直接输出 NONONO 。

输入描述

第一行输入三个整数 n,m,k(2≤n≤103;1≤m≤minn,m,k(2≤n≤10^3;1≤m≤minn,m,k(2≤n≤103;1≤m≤min{2×103,n×(n−1)22×10^3,\frac{n×(n-1)}{2}2×103,2n×(n−1)​};1≤k≤103);1≤k≤10^3);1≤k≤103)

第二行输入 nnn 个整数 a1,a2,...,an(−105≤ai≤105)a_1,a_2,...,a_n(-10^5 ≤ a_i≤ 10^5)a1​,a2​,...,an​(−105≤ai​≤105),其中 aia_iai​ 表示第 iii 个城市的魔法石能量。

接下来 mmm 行,第 iii 行输入三个整数 ui,vi,wi(1≤ui,vi≤n;ui≠vi;1≤wi≤105)u_i, v_i, w_i(1≤ u_i,v_i≤n;u_i≠v_i;1≤w_i≤10^5)ui​,vi​,wi​(1≤ui​,vi​≤n;ui​=vi​;1≤wi​≤105) ,表示城市 uiu_iui​ 与城市 viv_ivi​ 之间存在一条同行时间为 wiw_iwi​ 的路径。除此之外,保证任意两个城市之间至多存在一条道路。

注意,本题不保证图的连通性,即可能存在两个城市之间无法通过任何路径互相到达的情况。

输出描述

如果无论如何都无法到达城市 nnn ,直接输出下 NONONO ,否则输出一个整数,表示从城市 111 到城市 nnn 的最少实际通行时间。

样例1

输入

5 5 2
0 0 0 -10 0
1 2 1
2 3 1
3 5 1
1 4 6
4 5 1

输出

-13

说明

在这个样例中,唯一的最优走法是 1→2→3→5→4→5→4→51→2→3→5→4→5→4→51→2→3→5→4→5→4→5,实际通行时间为 1+1+1+(1−10)+1+(1−10)+11+1+1+(1-10)+1+(1-10)+11+1+1+(1−10)+1+(1−10)+1 。

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


ScanQRCodePrompt

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

Forgot password or username?