AT_abc446_f.[ABC446F] Reachable Set 2
提高+/省选-
通过率:0%
AC君温馨提醒
该题目为【atcoder】题库的题目,您提交的代码将被提交至atcoder进行远程评测,并由ACGO抓取测评结果后进行展示。由于远程测评的测评机由其他平台提供,我们无法保证该服务的稳定性,若提交后无反应,请等待一段时间后再进行重试。
题目描述
给定一个有向图 G,包含 N 个顶点和 M 条边。顶点编号为 1,2,…,N,第 i 条边(1≤i≤M)从顶点 Ui 指向顶点 Vi。
需要你分别对 k=1,2,…,N 依次解决以下问题:
高桥的目标是从 G 中删去一些(可以为零个)顶点,并一并移除所有以这些顶点为端点的边,使得下述条件得到满足。
- 从顶点 1 出发,通过若干条边(可为零条)可达的所有顶点,恰好为顶点 1,2,…,k。
判断他是否可以实现这一目标,如果可以,求最少需要删去多少个顶点才能实现。
输入格式
输入从标准输入读入,格式如下:
N M U1 V1 U2 V2 ⋮ UM VM
输出格式
输出 N 行。
第 i 行(1≤i≤N)输出针对 k=i 时问题的答案。如果高桥无法实现目标,输出 −1;否则输出实现目标所需删去的最小顶点数。
输入输出样例
输入#1
5 5 1 2 2 4 2 5 4 3 4 5
输出#1
1 2 -1 1 0
输入#2
5 5 1 1 1 2 3 1 3 1 3 5
输出#2
1 0 -1 -1 -1
说明/提示
样例说明 1
- 当 k=1 时,可以通过删除顶点 2 实现目标。注意,顶点 3,4,5 即使不删除也已不可达。不能做到不删顶点,因此第 1 行输出 1。
- 当 k=2 时,可以通过删除顶点 4 和 5 实现目标。无法只删一个或更少顶点实现,因此第 2 行输出 2。
- 当 k=3 时,无论如何删除顶点都无法实现目标,因此第 3 行输出 −1。
- 当 k=4 时,可以通过删除顶点 5 实现目标,需要删去至少一个顶点,因此第 4 行输出 1。
- 当 k=5 时,无需删除任何顶点就可实现目标,因此第 5 行输出 0。
样例说明 2
G 不一定连通,且可能含有重边或自环。
数据范围
- 2≤N≤3×105
- 1≤M≤3×105
- 1≤Ui,Vi≤N
- 所有输入均为整数。
由 ChatGPT 5 翻译
输入解题思路,AI测评打分。不知道怎么写?