CF486D.Valid Sets

普及/提高-

通过率:0%

AC君温馨提醒

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

题目描述

As you know, an undirected connected graph with nn nodes and n1n-1 edges is called a tree. You are given an integer dd and a tree consisting of nn nodes. Each node ii has a value aia_{i} associated with it.

We call a set SS of tree nodes valid if following conditions are satisfied:

  1. SS is non-empty.
  2. SS is connected. In other words, if nodes uu and vv are in SS , then all nodes lying on the simple path between uu and vv should also be presented in SS .
  3. .

Your task is to count the number of valid sets. Since the result can be very large, you must print its remainder modulo 10000000071000000007 ( 109+710^{9}+7 ).

输入格式

The first line contains two space-separated integers dd (0d20000 \le d \le 2000) and nn (1n20001 \le n \le 2000).

The second line contains nn space-separated positive integers a1,a2,,ana_1, a_2, \ldots, a_n (1ai20001 \le a_i \le 2000).

Then the next n1n - 1 line each contain pair of integers uu and vv (1u,vn1 \le u, v \le n) denoting that there is an edge between uu and vv. It is guaranteed that these edges form a tree.

输出格式

Print the number of valid sets modulo 10000000071000000007 .

输入输出样例

  • 输入#1

    1 4
    2 1 3 2
    1 2
    1 3
    3 4
    

    输出#1

    8
    
  • 输入#2

    0 3
    1 2 3
    1 2
    2 3
    

    输出#2

    3
    
  • 输入#3

    4 8
    7 8 7 5 4 6 4 10
    1 6
    1 2
    5 8
    1 3
    3 5
    6 7
    3 4
    

    输出#3

    41
    

说明/提示

In the first sample, there are exactly 8 valid sets: 1,2,3,4,1,2,1,3,3,4{1},{2},{3},{4},{1,2},{1,3},{3,4} and 1,3,4{1,3,4} . Set 1,2,3,4{1,2,3,4} is not valid, because the third condition isn't satisfied. Set 1,4{1,4} satisfies the third condition, but conflicts with the second condition.

首页