B. 非常有意思的题目,但一开始没有想出来怎么证明。有点偏向于离散数学证明题。
首先给出结论:当且仅当点的个数为奇数时可以构造出来一种删除序列。
首先考虑证明必要性,每次删除操作相当于在原先的树上咔去偶数条边,从而必然有点的个数为奇数。
考虑充分性,我们从深度较大的点到深度较小的点删除,每次对于一个点x,我们要么能将其子树删完,要么剩余一个联通的度数全都是奇数的子树,必然可以通过上面的点删除完。
这样归纳到最后必然有形成的要么是一个度数全为奇数的树,要么能删空。
而对于一个度数全为奇数的树,从一个点开始,归纳法:
一个可以删空的子树如果根的初始度数为奇数,则必然是连接到奇数个可删空子树,有偶数*奇数 = 奇数个初始度数为偶数的点。
另外三种情况同上,最终证明一个子树能删空 <=> 其中有奇数个初始度数为偶数的点。
而对于一个有奇数个点的树,度数为偶数的点必然有奇数个。
得证。
C. 要注意到本题目中