0%

2025 ICPC Asia Manila Regional(2025 ICPC 亚洲 菲律宾 马尼拉)——J. Tic-Tac-Toe on a Graph(遇到图上问题,没有特殊结构,那么基本就是分类讨论,按度数进行分类讨论)

题目大意

题目描述
Alice 和 Bob 在一个无向简单图上玩改进版的井字棋游戏。这个图有 nn 个顶点(代表方格)和 mm 条边。
游戏规则如下:

  1. 初始时,所有顶点都是空的。

  2. 两人轮流行动,Alice 先手。

  3. 在 Alice 的回合,她选择一个空的顶点并画上 X

  4. 在 Bob 的回合,他选择一个空的顶点并画上 O

  5. 游戏总共进行 5 个回合,也就是说 Alice 总是行动 3 次,Bob 总是行动 2 次。

  6. 如果 Alice 能够将她画了 X 的 3 个顶点连成一条长度为 3 的路径(注意:这 3 个顶点在路径中的顺序不一定与她落子的顺序相同),那么 Alice 获胜。如果 Bob 能阻止这一切发生,则 Bob 获胜。

假设双方在第一步之后都采取完美策略。请计算:Alice 有多少种可能的第一步选择,使得无论 Bob 随后如何应对,她都必胜?

输入格式
第一行包含两个由空格分隔的整数 nnmm5n2×105,0mmin(2×105,n(n1)/2)5 \le n \le 2 \times 10^5, 0 \le m \le \min(2 \times 10^5, n(n - 1)/2)),分别表示图的顶点数和边数。
接下来 mm 行,每行包含两个由空格分隔的整数 uuvv1u,vn1 \le u, v \le n),表示顶点 uuvv 之间有一条边。
保证图中没有自环和重边。

输出格式
输出一个整数,表示能让 Alice 必胜的初始落子位置的数量。

样例输入

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

样例输出

1
5

样例解释

image

image

对于该图,如果 Alice 第一步下在顶点 1、2、3、4 或 5,那么在双方完美发挥的情况下,她必定能获胜。
以第一步下在顶点 1 为例,其中一种可能的游戏进程是:

  • Alice 在 1 画 X

  • Bob 在 4 画 O

  • Alice 在 2 画 X

  • Bob 在 3 画 O

  • Alice 在 7 画 X
    此时 Alice 在 1、2、7 画了 X,它们构成了一条长度为 3 的路径(1-2-7),因此 Alice 获胜。
    如果她第一步下在 6、7 或 8,那么在 Bob 完美应对的情况下,她注定会输。
    必胜的起始点有 5 个,因此输出 5。

思路讲解

遇到图上问题,没有特殊结构以及这个数据比较大,那么基本上就可以排除 dp 的可能性了

那说白了,我们还有其他工具吗?

我们回归原始,对度数进行分类讨论。

首先,度数 ≥ 4,一定是必胜起始点。

image

度数为 3 的时候,不难得出:⚠️ 注意:需要两个,否则你刚走一步,他就把你唯一一条生路给堵死了,你不就死了吗。

image

度数为 2 的情况:

image

度数为 1 自然是不可能的。

然后好像就做完了?绷不住了

AC代码

AC
https://codeforces.com/gym/106262/submission/365635347

心路历程(WA,TLE,MLE……)