比赛场次 689
比赛名称 2025暑假集训第一场
比赛状态 已结束比赛成绩
开始时间 2025-06-25 08:00:00
结束时间 2025-06-25 13:00:00
开放分组 全部用户
注释介绍 难度对标noip,注意写部分分!
题目名称 Game of Stack
输入输出 stack.in/out
时间限制 1000 ms (1 s)
内存限制 512 MiB
测试点数 10 简单对比
用户 结果 时间 内存 得分
Gravatar左清源 AAAATTTTTT 12.124 s 11.35 MiB 40
Gravatar李奇文 AAAATTTTTT 12.289 s 33.73 MiB 40
Gravatar淮淮清子 AAAATTTTTT 13.316 s 46.92 MiB 40
GravatarHollow07 C 0.000 s 0.00 MiB 0
Gravatar秋_Water RRRRRRRRRR 0.026 s 3.67 MiB 0
GravatarLikableP RRRRRRRRRR 0.048 s 5.93 MiB 0
Gravatar二乾五 WWWWTTTTTT 12.155 s 14.40 MiB 0
GravatarOTTF WWWWTTTTTT 12.234 s 10.65 MiB 0
Gravatar汐汐很希希 WWWWTTTTTT 12.526 s 265.71 MiB 0

Game of Stack

★★★   输入文件:stack.in   输出文件:stack.out   简单对比
时间限制:1 s   内存限制:512 MiB

【题目背景】

因为大样例可能有点问题,这里下发一下编译好的std文件

std.zip

运行方式:

打开cmd,定位到目标文件夹,直接输入:std.exe 输入文件 输出文件

虽然是原,但是我们不妨整个月计小剧场(

【题目描述】

W 公司拥有空间折跃相关奇点,因此,W 公司员工在战斗中经常使用折跃速攻的战术。

在一次作战任务中,作为W公司三级员工的你制定了一个折跃作战计划。

计划将空间分成了 n 个节点,为了提高打击效率,他给每个节点预定了折跃通道,每个节点 i 有 ki 条折跃通道,记为 f(i, [1 ~ ki]),在第 j 次到达节点 i 后会经过通道到达节点 f(i, ki - j + 1),在作战中,员工将位于某一节点并开始折跃,不断经过折跃通道到达下一个节点,直到第 kx + 1 次到达点 x,此时 x 点没有通道,员工就结束了作战。

为了制定下一步计划,你需要快速得到每个节点开始折跃最终会在哪个节点结束。


形式化题意:

一个 n 个节点的图,每个节点 i 有一个大小为 ki 的栈。

我们重置每一个栈,然后从一个节点 x 开始,经过一个点时就取出栈顶元素 y 然后到达 y 节点直到到达一个点的栈为空

求出每个节点 i 开始最终到达的节点。

【输入格式】

第一行一个整数 n。

之后 n 行,先为一个整数 ki,接着 ki 个数表示 fi。

注意:第一个数是栈底,最后一个数是栈顶

【输出格式】

一行 i 个整数分别表示从 i 开始最后的位置。

【样例输入 1】

3
3 1 2 2
3 3 1 2
3 1 2 1

【样例输出 1】

1 2 2

【样例输入 2】

5
5 1 2 4 3 4
6 1 2 5 3 3 4
6 1 1 4 4 4 2
9 3 1 4 2 3 5 5 1 2
4 4 4 1 3

【样例输出 2】

1 1 1 1 1

【样例说明】

【数据规模与约定】

对于前 40% 的数据:n <= 1e3,k 之和  <= 1e4

对于 100% 的数据:n <= 1e5,k 之和  <= 1e6 

下发样例


【来源】

CodeForces

见题号