atcoder#AGC001C. [AGC001C] Shorten Diameter

[AGC001C] Shorten Diameter

题目描述

N N 頂点の木があり、頂点には 1 ~ N 1\ ~\ N の番号がついています。N  1 N\ -\ 1 本の辺について、i (1iN1) i\ (1≦i≦N-1) 本目の辺は頂点 Ai A_i と頂点 Bi B_i を繋いでいます。

この木の直径を K K 以下にするために削除する必要のある頂点数の最小値を求めてください。 ただし、頂点を削除した後のグラフは連結になっていなければなりません。

木の直径とは、2 2 つの頂点間の距離の最大値のことを指します。2 2 つの頂点間の距離とは、2 2 つの頂点を結ぶパスに含まれる辺の本数を指します。

输入格式

入力は以下の形式で標準入力から与えられる。

N N K K A1 A_1 B1 B_1 A2 A_2 B2 B_2 : AN1 A_{N-1} BN1 B_{N-1}

输出格式

直径を K K 以下にするために削除する必要のある頂点数の最小値を出力せよ。

题目大意

题目描述

给你一棵 NN 个点的无向树,定义点 uuvv 之间的距离是从 uuvv 的简单路径上的边数。

你需要删除一些点,使树的直径小于等于 KK,当且仅当删除某点不会对树的联通性产生影响时才可以删除。问至少删除多少点才可以满足要求。

数据范围

2N20002≤N≤20001KN11≤K≤N-1,保证给出的图是一棵树。

输入输出格式:

输入格式

第一行两个个整数 N,KN, K

之后 N1N - 1 行描述一棵树。

输出格式

一个整数,表示最少删掉点的个数。

感谢 @ToBiChi 提供翻译

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

提示

制約

  • 2N2000 2≦N≦2000
  • 1KN1 1≦K≦N-1
  • 1AiN, 1BiN 1≦A_i≦N,\ 1≦B_i≦N
  • 与えられるグラフは木である。

Sample Explanation 1

木の構造は図のとおりです。 頂点 5,6 5,6 を削除すると直径を 2 2 に出来ます。 ![ctree.png](https://agc001.contest.atcoder.jp/img/agc/001/Gg9pvPKw/ctree.png)

Sample Explanation 2

すでに直径が K K 以下なので、頂点を削除する必要はありません。