美团 · 图 · 算法编程题
美团 n ≤ 200000 时限 1 秒 / 256 MB

题目描述

给你一个由 n 个编号为 1 n 的节点以及 m 条编号为 1 m 的边组成的无向图,我们定义一个节点的权值为它的当前度 ^[1] (即已执行完之前所有操作后的状态)加上它的节点编号。
小美会进行 q 次如下操作:
操作一:断开编号为 x 的边,保证每条边至多被删除一次,即在进行操作一时,该边当前一定存在于图中。
操作二:向你询问编号为 x 的节点所在的连通块 ^[2] 中所有节点中最大的权值,你需要将此权值告诉他。
【名词解释】
度 ^[1] :与一个顶点相连接的边的条数称为该顶点的度。
连通块 ^[2] :也称连通分量,满足,
是原图的一个子图;
连通块内的任意两个顶点之间都存在路径相连,且路径上的点也在连通块内;
是极大的,即不能再通过添加原图中的其他顶点而依旧保持连通性;
单独的点也构成一个连通块。连通块的大小即为连通块中顶点的数量。

输入输出

输入描述
第一行输入三个正整数 n,m,q (1 ≤ n,q ≤ 2 × 10^5;0 ≤ m ≤ min(n × (n-1)/2),2 × 10^5 ) 表示节点个数,边个数,操作次数。
此后 m 行,第 i 行输入两个整数 u_i 和 v_i(1 ≤ u_i, v_i ≤ n;u_i ≠ v_i) 表示图上第 i 条边连接节点 u_i 和 v_i 。
此后 q 行,第 i 行先输入一个整数 o_i (1 ≤ o_i ≤ 2 ) ,表示操作编号。编号同题面,随后在同一行:
若 o_i=1 ,输入一个整数 x_i (1 ≤ x_i ≤ m ) ,表示断掉的边的编号;
若 o_i=2 ,输入一个整数 x_i (1 ≤ x_i ≤ n ) ,表示询问的节点编号。
保证图没有重边和自环,操作一合法。
输出描述
输出若干行,每一行对操作二进行回答。

样例共 1 组

样例 1
输入
5 5 5
1 2
1 5
3 5
2 4
1 3
2 4
1 1
2 2
1 2
2 1
输出
7
5
6

算法解析依据一般

考点:图

数据规模 n ≤ 200000 | 限制 1 秒 / 256MB | 标准输入输出

题目画像

  • 数据规模:n ≤ 200000,q ≤ 200000
  • 元素值域:o_i ≤ 2(注意整数类型选择,避免溢出)
  • 复杂度门槛:只允许 O(n) 或 O(n log n),且常数要小(注意读入效率)。
  • 源站时限:1 秒(牛客口径,非本题专属门槛)

解题思路

参考方向:图

把关系抽象成点与边,再按问的类型选遍历/最短路/连通性算法。

思路框架(图 通法 · 非本题专属)

  1. 建图:邻接表(稀疏)或邻接矩阵(稠密)。
  2. 问「最少几步 / 最短路径」且边权为 1 → BFS。
  3. 问「是否连通 / 需要加几条边连通」→ 并查集 / 连通块计数。
  4. 问「带权最短路」→ Dijkstra(非负权)或 Floyd(点数小、多源)。
  5. 问「依赖顺序」→ 拓扑排序。

实现要点:注意是有向图还是无向图,无向图加边记得双向。

复杂度:时间 O(V+E) 遍历 / O(E log V) Dijkstra | 空间 O(V+E)

该范式的通法易错点

  • 无向图只加了单向边。
  • BFS 入队时没标记访问,导致重复入队。

对照本题

  • 数据规模 n ≤ 200000,只允许 O(n) 或 O(n log n),且常数要小(注意读入效率)。
  • 元素值域最大到 2 —— 求和 / 相乘时记得开 64 位整数。
本题在源数据中没有官方考点标签,方向由题面特征推断,仅供参考。

样例

样例 1

  • 输入:5 5 5 / 1 2 / 1 5 / 3 5 / 2 4 / 1 3 / 2 4 / 1 1 / 2 2 / 1 2 / 2 1
  • 输出:7 / 5 / 6

解析由校招宝本地引擎整理(依据源站考点标签 / 人工判题标注 / 题面规模信号),非官方题解,仅供思路参考。

本题来源:2026年春招-美团-技术岗-第一批笔试;2026年春招-美团-算法策略岗-第一批笔试。

‹ 上一题 全部编程题 下一题 ›
编程算法题为只读内容:无需作答,直接看题与解析 · 本站不提供在线判题 · 解析由校招宝本地引擎整理,非官方题解