CF461B.Appleman and Tree

普及/提高-

通过率:0%

AC君温馨提醒

该题目为【codeforces】题库的题目,您提交的代码将被提交至codeforces进行远程评测,并由ACGO抓取测评结果后进行展示。由于远程测评的测评机由其他平台提供,我们无法保证该服务的稳定性,若提交后无反应,请等待一段时间后再进行重试。

题目描述

Appleman has a tree with nn vertices. Some of the vertices (at least one) are colored black and other vertices are colored white.

Consider a set consisting of kk (0<=k<n)(0<=k<n) edges of Appleman's tree. If Appleman deletes these edges from the tree, then it will split into (k+1)(k+1) parts. Note, that each part will be a tree with colored vertices.

Now Appleman wonders, what is the number of sets splitting the tree in such a way that each resulting part will have exactly one black vertex? Find this number modulo 10000000071000000007 ( 109+710^{9}+7 ).

输入格式

The first line contains an integer nn ( 2<=n<=1052<=n<=10^{5} ) — the number of tree vertices.

The second line contains the description of the tree: n1n-1 integers p0,p1,...,pn2p_{0},p_{1},...,p_{n-2} ( 0<=pi<=i0<=p_{i}<=i ). Where pip_{i} means that there is an edge connecting vertex (i+1)(i+1) of the tree and vertex pip_{i} . Consider tree vertices are numbered from 00 to n1n-1 .

The third line contains the description of the colors of the vertices: nn integers x0,x1,...,xn1x_{0},x_{1},...,x_{n-1} ( xix_{i} is either 00 or 11 ). If xix_{i} is equal to 11 , vertex ii is colored black. Otherwise, vertex ii is colored white.

输出格式

Output a single integer — the number of ways to split the tree modulo 10000000071000000007 ( 109+710^{9}+7 ).

输入输出样例

  • 输入#1

    3
    0 0
    0 1 1
    

    输出#1

    2
    
  • 输入#2

    6
    0 1 1 0 4
    1 1 0 0 1 0
    

    输出#2

    1
    
  • 输入#3

    10
    0 1 2 1 4 4 4 0 8
    0 0 0 1 0 1 1 0 0 1
    

    输出#3

    27
    
首页