A6755 | 「NOI2025」机器人
来源NOI
时间限制1s
内存限制1024MB
通过 / 提交0/0
题目描述
NOI2025 正在绍兴举办,小 Y 为闭幕式表演制作了一个机器人并打算操控它从仓库走到礼堂。
绍兴的道路系统可以简化为 $n$ 个路口以及连接这些路口的 $m$ 条**单行道路**,且每条道路有一定的长度。为了方便将道路系统录入机器人的芯片,小 Y 对每一个路口连接的所有道路进行了编号。具体而言,若有 $d$ 条道路以路口 $x$ 为起点,则这 $d$ 条道路会被小 Y 按照某种顺序编号为 $1 \sim d$,分别称作以 $x$ 为起点的第 $1 \sim d$ 条道路。
小 Y 的机器人内部有一个参数 $p$。给定参数 $p$ 的上限 $k$ 与修改费用 $v_1, v_2, \ldots, v_{k-1}, w_2, w_3, \ldots, w_k$。小 Y 将按照如下规则设置与修改机器人的参数:
- 初始时,小 Y 将参数 $p$ 设置为 $1$。
- 在**任意时刻**,小 Y 可以远程控制机器人修改参数:
- 若 $p < k$,则小 Y 可以花费 $v_p$ 的费用将 $p$ 增加 $1$,即 $p \leftarrow p + 1$;
- 若 $p > 1$,则小 Y 可以花费 $w_p$ 的费用将 $p$ 减少 $1$,即 $p \leftarrow p - 1$。
初始时,小 Y 的机器人位于机器人仓库,即路口 $1$。当机器人位于路口 $x$ 时,记以路口 $x$ 为起点的第 $p$ 条道路的终点为 $y$,道路长度为 $z$,则小 Y 可以花费 $z$ 的费用操控机器人从 $x$ 走到 $y$。特别地,若以路口 $x$ 为起点的道路不足 $p$ 条,则小 Y 无法操控机器人走动。
小 Y 并不知道闭幕式表演所在的礼堂位于哪个路口,因此他需要对每个路口都做好准备。请你帮助他求出将机器人从仓库移动到每个路口所需费用的最小值。
绍兴的道路系统可以简化为 $n$ 个路口以及连接这些路口的 $m$ 条**单行道路**,且每条道路有一定的长度。为了方便将道路系统录入机器人的芯片,小 Y 对每一个路口连接的所有道路进行了编号。具体而言,若有 $d$ 条道路以路口 $x$ 为起点,则这 $d$ 条道路会被小 Y 按照某种顺序编号为 $1 \sim d$,分别称作以 $x$ 为起点的第 $1 \sim d$ 条道路。
小 Y 的机器人内部有一个参数 $p$。给定参数 $p$ 的上限 $k$ 与修改费用 $v_1, v_2, \ldots, v_{k-1}, w_2, w_3, \ldots, w_k$。小 Y 将按照如下规则设置与修改机器人的参数:
- 初始时,小 Y 将参数 $p$ 设置为 $1$。
- 在**任意时刻**,小 Y 可以远程控制机器人修改参数:
- 若 $p < k$,则小 Y 可以花费 $v_p$ 的费用将 $p$ 增加 $1$,即 $p \leftarrow p + 1$;
- 若 $p > 1$,则小 Y 可以花费 $w_p$ 的费用将 $p$ 减少 $1$,即 $p \leftarrow p - 1$。
初始时,小 Y 的机器人位于机器人仓库,即路口 $1$。当机器人位于路口 $x$ 时,记以路口 $x$ 为起点的第 $p$ 条道路的终点为 $y$,道路长度为 $z$,则小 Y 可以花费 $z$ 的费用操控机器人从 $x$ 走到 $y$。特别地,若以路口 $x$ 为起点的道路不足 $p$ 条,则小 Y 无法操控机器人走动。
小 Y 并不知道闭幕式表演所在的礼堂位于哪个路口,因此他需要对每个路口都做好准备。请你帮助他求出将机器人从仓库移动到每个路口所需费用的最小值。
输入格式
从文件
输入的第一行包含一个非负整数 $c$,表示测试点编号。$c = 0$ 表示该测试点为样例。
输入的第二行包含三个正整数 $n, m, k$,分别表示路口数量、道路数量与参数 $p$ 的上限。
输入的第三行包含 $k - 1$ 个非负整数 $v_1, \ldots, v_{k-1}$,表示增加参数 $p$ 的费用。
输入的第四行包含 $k - 1$ 个非负整数 $w_2, \ldots, w_k$,表示减少参数 $p$ 的费用。
输入的第 $i + 4$ $(1 \leq i \leq n)$ 行包含若干个正整数,其中第一个非负整数 $d_i$ 表示以路口 $i$ 为起点的道路数量,接下来 $2d_i$ 个正整数 $y_{i,1}, z_{i,1}, y_{i,2}, z_{i,2}, \ldots, y_{i,d_i}, z_{i,d_i}$,表示以路口 $i$ 为起点的道路,其中 $y_{i,j}, z_{i,j}$ $(1 \leq j \leq d_i)$ 分别表示编号为 $j$ 的道路的终点与长度。
robot.in 中读入数据。输入的第一行包含一个非负整数 $c$,表示测试点编号。$c = 0$ 表示该测试点为样例。
输入的第二行包含三个正整数 $n, m, k$,分别表示路口数量、道路数量与参数 $p$ 的上限。
输入的第三行包含 $k - 1$ 个非负整数 $v_1, \ldots, v_{k-1}$,表示增加参数 $p$ 的费用。
输入的第四行包含 $k - 1$ 个非负整数 $w_2, \ldots, w_k$,表示减少参数 $p$ 的费用。
输入的第 $i + 4$ $(1 \leq i \leq n)$ 行包含若干个正整数,其中第一个非负整数 $d_i$ 表示以路口 $i$ 为起点的道路数量,接下来 $2d_i$ 个正整数 $y_{i,1}, z_{i,1}, y_{i,2}, z_{i,2}, \ldots, y_{i,d_i}, z_{i,d_i}$,表示以路口 $i$ 为起点的道路,其中 $y_{i,j}, z_{i,j}$ $(1 \leq j \leq d_i)$ 分别表示编号为 $j$ 的道路的终点与长度。
输出格式
输出到文件
输出一行 $n$ 个整数,其中第 $i$ $(1 \leq i \leq n)$ 个数表示小 Y 将机器人从仓库移动到路口 $i$ 所需费用的最小值。特别地,若小 Y 无法将机器人从仓库移动到该路口,则输出 $-1$。
robot.out 中。输出一行 $n$ 个整数,其中第 $i$ $(1 \leq i \leq n)$ 个数表示小 Y 将机器人从仓库移动到路口 $i$ 所需费用的最小值。特别地,若小 Y 无法将机器人从仓库移动到该路口,则输出 $-1$。
输入输出样例
输入 #1
0 5 6 3 2 4 1 1 3 2 5 3 1 4 2 1 3 2 2 1 2 4 1 0 0
输出 #1
0 5 3 4 -1
暂无题解
C++ 编辑器
输入
输出
可保存默认模板;新题优先使用已保存模板。
当前快捷键仅展示,暂不支持修改。
- 撤销
Ctrl / ⌘ + Z - 重做
Ctrl / ⌘ + Y - 查找
Ctrl / ⌘ + F - 全选
Ctrl / ⌘ + A - 复制
Ctrl / ⌘ + C - 剪切
Ctrl / ⌘ + X - 粘贴
Ctrl / ⌘ + V - 自动排版
工具栏排版按钮 - 草稿保存
编辑时自动保存到本机
历史
提交记录
状态说明时间源码
AI
作答助手
你好,我是作答助手。可以问思路、复杂度、样例含义或代码报错原因;不会直接给出完整 AC 代码。
确定要清空代码吗?