构造一棵包含1号结点的连通子集个数刚好为给定的n的树。 这棵树的结点不能多于60。 1<=n<=109
容易得到,计算给定一棵树的Ans1,其中Ansi表示包含i号结点的连通子集个数。 也即, 对于树上的任意一个非叶子结点u,都有: Ansu=∏u∈son(v)(Ansu+1)
现在构造出一个Ans=n的树上结点now, 1.若此时n是偶数,那么: 新建一个结点new,给now和new连一条边。 这样等价于构造出一个Ans=n/2的树上结点now。 就回到原问题。 2.若此时n是奇数,那么: 新建一个结点new,给now和new连一条边。 这样等价于构造出一个Ans=n−1的树上结点new。 又回到原问题。
我们发现至多两次操作(也就是新增两个点)可以使n减半。 所以结点最多2∗log2n个。 在n=109时,结点最多为60个。