Description
小W最近迷上了日本动漫,每天都有无数部动漫的更新等着他去看,所以他必须将所有的动漫排个顺序,当然,虽然有无数部动漫,但除了1号动漫,每部动漫都有且仅有一部动漫是它的前传(父亲),也就是说,所有的动漫形成一个树形结构。而动漫的顺序必须满足以下两个限制:
1、一部动漫的所有后继(子孙)都必须排在它的后面;
2、对于同一部动漫的续集(孩子),小W喜爱度高的须排在前面。
光排序小W还不爽,他想知道一共有多少种排序方案,并且输出它mod 10007的答案。
题解
题目给了两种排序的限制,我们可以通过转换,使其变为一种。
在同一个节点的儿子中,喜爱度高的应该排在前面,那我们就将喜爱度高的那一个节点作为喜爱度仅次于它的父亲。
这样之后,限制就变为了一种:父亲 要在儿子前面。
而且转换之后,树变成了一棵二叉树,
接下来就是如何求方案数。
对于每一个节点,我们记录fi,si