#JDT11F. 憨憨的二进制树(简单版本)

憨憨的二进制树(简单版本)

题目描述

这是问题的简单版本。在这个版本中 n1000n \le 1000

给定一棵 nn 个节点的树,每个节点都有一个权值(0011)。

任意一条路径上的节点权值依次组成一个二进制数。定义路径长度至少为 11(即至少包含两个节点)。

请统计有多少条路径对应的二进制数在区间 [L,R][L,R] 内。

输入格式

  • 第一行输入三个正整数 n,L,Rn, L, R
  • 第二行输入一个长度为 nn 的 01 串,第 ii 个字符表示第 ii 个节点的权值。
  • 接下来 n1n-1 行,每行两个正整数 u,vu,v,表示节点 uuvv 之间有一条边。

输出格式

输出一个整数,表示符合条件的路径数量。

4 4 5
1010
1 2
2 3
3 4
3

解释 #1

在样例中:

  • 路径 1231\to2\to3 对应二进制数 1012=5101_2=5
  • 路径 3213\to2\to1 对应二进制数 1012=5101_2=5
  • 路径 43214\to3\to2\to1 对应二进制数 01012=50101_2=5。 共 33 条路径满足条件。

数据范围

  • 1n10001 \leq n \leq 1000
  • 1u,vn1 \leq u,v \leq n
  • 1LR10141 \leq L \leq R \leq 10^{14}