Codeforces Global Round 13-E-思维,分治

题目大意:

给你一棵树,问你他是否是一颗Fib树.

F i b Fib Fib树满足它的节点个数是一个Fib数且至少满足以下两个条件的其中一个:

1.其节点个数为1
2.删掉某条边使得生成两颗Fib树。

题目思路:

不难想到,一棵树可能出现多个可以删的边。暴力dfs复杂度显然不可接受。但是仔细分析一下发现:

1.最多有两条可以删的边.

2.随便删哪一条都可以.因为这两条边最终一定要被删的.

所以分治解决。深度最多为logn级别。即复杂度nlogn

猜你喜欢

转载自blog.csdn.net/qq_35577488/article/details/114370561