动态图连通性

Luogu
IDLGP8860
Time2000ms
Memory512MB
DifficultyP6
贪心倍增洛谷原创O2优化最短路可持久化线段树洛谷月赛
给定一张 $n$ 点 $m$ 边的**有向图**,初始时存在一条从 $1$ 到 $n$ 的路径。 你需要处理 $q$ 组询问,每组询问给定一个 $[1,m]$ 中的正整数 $x$,如果原图中的第 $x$ 条边仍存在且当前的图中删去原图中的第 $x$ 条边后仍有一条从 $1$ 到 $n$ 的路径,则删除原图中的第 $x$ 条边。 你需要报告每组询问中是否删去了第 $x$ 条边。 **请注意:一组询问中删除某条边后,这条边会被永远删除。也就是询问之间会相互影响。** ## Input 输入第一行三个正整数 $n,m,q$,分别表示有向图的点数,边数以及询问个数。 接下来 $m$ 行,第 $i$ 行两个正整数 $u_i,v_i$,表示第 $i$ 条边由 $u_i$ 连向 $v_i$。 接下来 $q$ 行,每行一个正整数 $x$,具体含义同题目描述。 ## Output 输出共 $q$ 行,每行一个正整数 $0$ 或 $1$。 如果在这组询问中删去了第 $x$ 条边,输出 $1$,否则输出 $0$。 [samples] ## Note #### 【样例解释】 在第一组样例中: 初始时,图中边集为 $\{ (1,2),(2,3),(3,5),(2,4),(4,5),(5,1) \}$。 若删去原图中的第 $1$ 条边 $(1,2)$,图中就没有 $1$ 到 $n$ 的路径,所以不能删除第 $1$ 条边。 若删去原图中的第 $2$ 条边 $(2,3)$,图中存在路径 $1 \to 2 \to 4 \to 5$,所以可以删去第 $2$ 条边,图中边集变为 $\{ (1,2),(3,5),(2,4),(4,5),(5,1) \}$。 若删去原图中的第 $3$ 条边 $(3,5)$,图中存在路径 $1 \to 2 \to 4 \to 5$,所以可以删去第 $3$ 条边,图中边集变为 $\{ (1,2),(2,4),(4,5),(5,1) \}$。 若删去原图中的第 $4$ 条边 $(2,4)$,图中就没有 $1$ 到 $n$ 的路径,所以不能删除第 $4$ 条边。 若删去原图中的第 $5$ 条边 $(4,5)$,图中就没有 $1$ 到 $n$ 的路径,所以不能删除第 $5$ 条边。 #### 【数据范围】 | 测试点编号 | $n,m \leq$ | $q \leq$ | 特殊限制 | |:------------:|:---------------:|:---------------:|:-------------------------------:| | $1 \sim 2$ | $1000$ | $1000$ | 无 | | $3 \sim 6$ | $5000$ | $2 \times 10^5$ | 无 | | $7 \sim 8$ | $2 \times 10^5$ | $2 \times 10^5$ | 保证所有询问中最多有 $1$ 条边没有被删除 | | $9 \sim 12$ | $2 \times 10^5$ | $2 \times 10^5$ | 保证所有询问中最多有 $5$ 条边没有被删除 | | $13 \sim 16$ | $2 \times 10^5$ | $2 \times 10^5$ | 将有向图视作无向图仍能得到正确答案 | | $17 \sim 20$ | $2 \times 10^5$ | $2 \times 10^5$ | 无 | 对于所有数据,$1 \leq n,m,q \leq 2 \times 10^5$,给定的图无重边、自环,且存在一条 $1$ 到 $n$ 的路径。 **给出的两组大样例分别满足测试点 1 和测试点 13 的限制。**
Samples
Input #1
5 6 5
1 2
2 3
3 5
2 4
4 5
5 1
1
2
3
4
5
Output #1
0
1
1
0
0
Input #2
10 11 8
1 2
2 7
2 5
1 4
4 5
4 8
8 9
9 5
3 2
3 6
5 10
10
5
11
10
3
7
1
4
Output #2
1
1
0
0
1
0
1
0
API Response (JSON)
{
  "problem": {
    "name": "动态图连通性",
    "description": {
      "content": "给定一张 $n$ 点 $m$ 边的**有向图**,初始时存在一条从 $1$ 到 $n$ 的路径。   你需要处理 $q$ 组询问,每组询问给定一个 $[1,m]$ 中的正整数 $x$,如果原图中的第 $x$ 条边仍存在且当前的图中删去原图中的第 $x$ 条边后仍有一条从 $1$ 到 $n$ 的路径,则删除原图中的第 $x$ 条边。   你需要报告每组询问中是否删去了第 $x$ 条边。  **",
      "description_type": "Markdown"
    },
    "platform": "Luogu",
    "limit": {
      "time_limit": 2000,
      "memory_limit": 524288
    },
    "difficulty": {
      "LuoguStyle": "P6"
    },
    "is_remote": true,
    "is_sync": true,
    "sync_url": null,
    "sign": "LGP8860"
  },
  "statements": [
    {
      "statement_type": "Markdown",
      "content": "给定一张 $n$ 点 $m$ 边的**有向图**,初始时存在一条从 $1$ 到 $n$ 的路径。  \n\n你需要处理 $q$ 组询问,每组询问给定一个 $[1,m]$ 中的正整数 $x$,如果原图中的第 $x$ 条边仍存在且当前的图中删去原图中的第 $x$ 条边后仍有一条从 $1$ 到 $n$ 的路径,则删除原图中的第 $x$ 条边。  \n\n你需要报告每组询问中是否删去了第 $x$ 条边。 \n\n**...",
      "is_translate": false,
      "language": "English"
    }
  ]
}
Full JSON Raw Segments