CF461B.Appleman and Tree

普及+/提高

通过率:0%

时间限制:2.00s

内存限制:256MB

AC君温馨提醒

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

题目描述

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

Consider a set consisting of k (0 ≤ k < n) edges of Appleman's tree. If Appleman deletes these edges from the tree, then it will split into (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 1000000007 (109 + 7).

Appleman 有一棵包含 nn 个顶点的树。其中部分顶点(至少一个)被染成黑色,其余顶点被染成白色。

考虑由 Appleman 的树中 kk 条边(0≤k<n0 \leq k < n)构成的一个集合。若 Appleman 将这些边从树中删除,则该树将分裂为 k+1k+1 个连通部分。注意,每个部分仍是一棵树,且其顶点具有颜色。

现在 Appleman 想知道:有多少种边集,使得删除这些边后,每个连通部分恰好包含一个黑点?请输出该数目对 10000000071000000007(即 109+710^9 + 7)取模的结果。

输入格式

The first line contains an integer n (2  ≤ n ≤ 105) — the number of tree vertices.

The second line contains the description of the tree: n - 1 integers _p_0, _p_1, ..., p__n - 2 (0 ≤ p__i ≤ i). Where p__i means that there is an edge connecting vertex (i + 1) of the tree and vertex p__i. Consider tree vertices are numbered from 0 to n - 1.

The third line contains the description of the colors of the vertices: n integers _x_0, _x_1, ..., x__n - 1 (x__i is either 0 or 1). If x__i is equal to 1, vertex i is colored black. Otherwise, vertex i is colored white.

第一行包含一个整数 nn(2≤n≤1052 \leq n \leq 10^5)——树的顶点数量。

第二行包含树的描述:n−1n-1 个整数 p0,p1,…,pn−2p_0, p_1, \dots, p_{n-2}(0≤pi≤i0 \leq p_i \leq i)。其中 pip_i 表示树中顶点 i+1i+1 与顶点 pip_i 之间存在一条边。树的顶点编号为 00 到 n−1n-1。

第三行包含顶点颜色的描述:nn 个整数 x0,x1,…,xn−1x_0, x_1, \dots, x_{n-1}(每个 xix_i 为 00 或 11)。若 xi=1x_i = 1,则顶点 ii 为黑色;否则顶点 ii 为白色。

输出格式

Output a single integer — the number of ways to split the tree modulo 1000000007 (109 + 7).

输出一个整数——将树分割的方式数目对 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

输入解题思路,AI测评打分。不知道怎么写?

首页