#L0061. 公园改造计划

公园改造计划

题目描述

一座公园里共有 nn 个休息点和 mm 条连接两个休息点的双向步道。小琦是个追求极致的规划师,她准备施展魔法逐步改造公园,并随时掌握改造效果。她每次会进行下面两种操作之一:

  1. 给定休息点 xx,询问在公园中能与 xx 互相到达的那些休息点所组成的区域里,最长路径的长度。
  2. 给定两个休息点 x,yx,y:若它们已经能互相到达,则本次操作直接忽略;否则,她在 xx 可达的所有休息点与 yy 可达的所有休息点(含 x,yx,y 本身)中各挑一个,在二者之间修一条新步道。挑选方案必须让新区域内最长路径的长度尽量小。

小琦一共要进行 qq 次操作,请回答每次操作 1 的询问,或执行操作 2 的修建。

注:所有步道长度均为 11,保证任意时刻不存在环。最长路径定义为:对于点列 v1,v2vkv_1,v_2\cdots v_k,若其中任意相邻两点 viv_ivi+1(1ik1)v_{i+1}\quad (1\le i\le k-1) 都有步道直接相连,则该区域的最长路径长度就是 k1k-1

输入格式

  • 第一行,三个正整数,分别为 n,m,qn,m,q
  • 接下来的 mm 行,每行两个正整数 xi,yix_i,y_i,表示 xix_iyiy_i 之间有一条双向步道。
  • 再接下来的 qq 行,每行描述一次操作。
    • 若该行第一个数为 11,则是操作 1,之后还有一个正整数 xix_i,表示要询问的休息点。
    • 若该行第一个数为 22,则是操作 2,之后还有两个正整数 xi,yix_i,y_i,表示本次要操作的两个休息点。

输出格式

输出的行数等于操作 1 的次数。

每行输出对对应操作 1 询问的回答。

样例

6 0 6
2 1 2
2 3 4
2 5 6
2 3 2
2 5 3
1 1
4

提示

数据范围及约定

  • 对于 10%10\% 的数据,只存在操作 1。
  • 对于 30%30\% 的数据,0m<n200\le m\lt n\le 201q51\le q\le5
  • 对于 60%60\% 的数据,0m<n20000\le m\lt n \le 20001q10001\le q\le 1000
  • 对于 100%100\% 的数据,0m<n3×1050 \le m\lt n \le 3\times 10^51q3×1051\le q\le 3\times 10^5
难度 普及+/提高-
通过率
尝试 0
已通过 0
ID
795
类型
传统题
Time Limit
1000ms
Memory Limit
125MiB
上传者