标签:sgu
给你n个背包,然后输入n个数xi,表示第i个背包包含了多少个背包(目标状况)。然后要你求有多少种初始情况可以达到目标状况。
显然对于这种包含关系我们很容易就想到了树上的关系,包含关系就是父亲与儿子的关系,然后在最外面的背包我们把他们都连在一个根节点上。然后一次操作就相当于找一棵子树。然后我们发现如果我们对同一个背包做两次操作相当于没有做,然后我们如果在初始状态上对地上的背包i做了一次操作,然后会发现地上只剩下i,j两个书包了,j是从i中拿出来的,这样我们就只能对j进行操作,然后我们就发现,我们最多不断操作后,最后在操作了某一个书包k后停下来,所以就只有n种情况,然后再加上什么都不做,一共n+1种,然后当n=1的时候特判输出1。
sgu-238 Uncle Vasya and Bags for Potatoes
原文地址:http://blog.csdn.net/qq_21995319/article/details/45156265