首页 > 试题广场 >

图上染色

[编程题]图上染色
  • 热度指数:154 时间限制:C/C++ 1秒,其他语言2秒 空间限制:C/C++ 256M,其他语言512M
  • 算法知识视频讲解
小兴有一个n个节点m条边的无向图,每个节点初始没有颜色。现在有q次操作,每次操作会选择一个没有被染色的节点x,然后将这个节点的颜色变为c

每次操作之后,小兴想要知道对于所有只包含相同颜色的连通块,这些连通块大小的最大值是多少?

输入描述:
第一行三个整数
接下来m行每行2个整数描述一条边。
接下来q行每行两个数


输出描述:
输出q行,表示每次操作后的答案。
示例1

输入

5 5 5
1 2
2 3
3 4
3 5
1 5
1 1
2 3
4 1
3 1
5 1

输出

1
1
1
2
4

说明

图的形态如下:


示例2

输入

5 5 5
1 2
2 3
3 4
3 5
1 5
1 1
2 1
4 1
3 1
5 1

输出

1
2
2
4
5
头像 Medizana
发表于 2025-08-03 11:16:55
import sys from typing import List def parse_input(): n, m, q = map(int, sys.stdin.readline().strip().split()) edges = [ list(map(int 展开全文
头像 有胆量的柯基在学习
发表于 2025-08-21 21:07:18
#include <bits/stdc++.h> using namespace std; int main() { int n, m, q; cin >> n >> m >> q; vector<vector<i 展开全文
头像 丨阿伟丨
发表于 2025-09-11 16:59:20
题目链接 图上染色 题目描述 给定一个 个节点 条边的无向图。初始时,所有节点都没有颜色。现有 次操作,每次操作会选择一个未染色的节点,并将其染成颜色 。要求在每次操作之后,都输出当前所有单色连通块大小的最大值。 一个单色连通块指的是一个节点集合,其中所有节点颜色相同,且集合内任意两点都存在一 展开全文