U494712 平衡二叉树(tree)
题目描述
小胖子发明了一种新的平衡二叉树。
首先小胖子给出了几个定义:
- 二叉树的总根节点为 1;
- 以 $a$ 结点为根, $b$ 结点的深度定义为从 $a$ 结点到 $b$ 结点所经过的结点数
- 空结点的深度为 $0$ ;
- 以一个结点为根的子树的深度定义为子树中深度最大的叶子节点的深度
- 某个节点的左/右子树定义为该节点的左/右儿子节点以及其下面的所有节点所构成的树。
这种平衡二叉树有一种全新的结构:二叉树中的任意一个结点,其左右子树的深度差不会超过一。
现在小胖子会给你一棵二叉树,根节点为 1 号点。他想让这棵树调整至平衡状态,当然由于他特别懒,特别笨,连左旋右旋都不会,只会删掉叶子结点。
由于小胖子实在是懒到离谱,连这么简单的工作都不愿意做,他现在找到了你,希望你能告诉他,他最少要删多少个结点,使这个树平衡。
输入格式
输入的第一行一个正整数 $n$ ,表示树的结点数。
输入的第二行到第 $n$ 行,每行两个正整数 $x$ 和 $y$ ,表示一条树上的边。
输出格式
输出一行,包含一个非负整数,表示至少要删除多少个结点。
说明/提示
**【数据范围】**
对于 $30\%$ 的数据,$n \le 10^3$;
对于 $100\%$ 的数据,$n \le 2 \times 10^5$;