QOJ.ac

QOJ

Time Limit: 3 s Memory Limit: 256 MB Total points: 100

#15054. 支线剧情 2

Statistics

故事背景

宅男 JYY 非常喜欢玩 RPG 游戏,并且 JYY 总是想花费最少的时间看完所有的支线剧情。最近JYY买了一款新的正版 RPG 游戏,所以 JYY 总算可以“读档”和“存档”了!

问题描述

JYY 现在所玩的 RPG 游戏中,一共有 $N$ 个剧情点,由 $1$ 到 $N$ 编号,第 $i$ 个剧情点可以根据 JYY 的不同的选择,而经过不同的支线剧情,前往 $K_i$ 种不同的新的剧情点。当然如果 $K_i$ 为 $0$,则说明 $i$ 号剧情点是游戏的一个结局了。

JYY 观看一个支线剧情需要一定的时间。

JYY—开始处在 $1$ 号剧情点,也就是游戏的开始。

JYY 买的这款游戏很特殊,从游戏开始到达任何一个剧情点支线路径都是唯一的。

而且,任何一个剧情点都是从 $1$ 号剧情点可达的。

与上一款 RPG 游戏一样,JYY 可以在任意时刻选择重新开始游戏,即回到 $1$ 号剧情点。不过有些不同的是,这次 JYY 买的是正版软件,每当 JYY 到达一个剧情点,JYY 都可以进行“存档”和“读档”。但是很遗憾的是,JYY 的 RPG 游戏只有一个存档的位置:每次“存档”操作都会覆盖之前的存档。

比如如果 JYY 在 $x$ 号剧情点进行了“存档”操作,那么此后当 JYY 到达任何一个剧情点(包括结局)都可以“读档”并立即回到 $x$ 号剧情点。但是如果之后 JYY 在 $y$ 号剧情点又进行了“存档”,那么 JYY 再进行“读档”,就只能回到 $y$ 号剧情点了。

一开始存档位置里没有存储任何信息,所以 JYY 只有在进行一次“存档”操作之后才可以进行“读档”操作。

“读档”,“存档”和“重新开始”都是不需要花费时间的。

重复观看己经看过的剧情是很痛苦的,JYY 希望花费最少的时间,看完所有不同的支线剧情。

输入格式

输入一行包含一个正整数 $N$。

接下来 $N$ 行,第 $i$ 行为第 $i$ 号剧情点的信息。

每一行第一个非负整数为 $K_i$。接下来 $K_i$ 个整数对,$b_{i,j}$ 和 $t_{i,j}$,表示从剧情点 $i$ 可以前往剧情点 $b_{i,j}$,并且观看这段支线剧情需要花费 $t_{i,j}$ 的时间。

输出格式

输出一行包含一个整数,表示 JYY 看完所有支线剧情所需要的最少时间。

样例数据

样例输入

9
2 5 1 2 1
2 3 1 6 1
2 7 1 4 1
2 8 1 9 1
0
0
0
0
0

样例输出

8

样例解释

load 表示读档,save 表示存档,restart 表示重新开始,那么最佳路线是:

1→5→restart→2→save→6→load→3→save→7→load→4→save→8→load→9

数据规模与约定

对于 $10\%$ 的数据满足 $N = 7$

对于 $40\%$ 的数据满足 $N \leq 90$

对于 $70\%$ 的数据满足 $N \leq 10^5$, $K_i \leq 2$

对于 $100\%$ 的数据满足 $N \leq 10^6$, $1\leq t_{i,j} \leq 10^4$, $\sum_{i=1}^{N} K_i = N-1$。

Discussions

About Discussions

The discussion section is only for posting: Editorials, General Discussions (problem-solving strategies, alternative approaches), and Off-topic conversations.

This is NOT for reporting issues! If you want to report bugs or errors, please use the Issues section below.

Open Discussions 0
No discussions in this category.

Issues

About Issues

If you find any issues with the problem (statement, scoring, time/memory limits, test cases, etc.), you may submit an issue here. A problem moderator will review your issue.

Guidelines:

  1. This is not a place to publish discussions, editorials, or requests to debug your code. Issues are only visible to you and problem moderators.
  2. Do not submit duplicated issues. Submitting multiple issues may cause your account to be banned.
  3. Issues must be filed in English or Chinese only.
Active Issues 0
No issues in this category.
Closed/Resolved Issues 0
No issues in this category.