CF852E Casinos and travel

题目描述

John 刚买了一辆新车,正在计划一次环游全国的旅行。该国有 $N$ 个城市,其中一些通过双向道路互相连接。总共有 $N-1$ 条道路,并且任意两个城市都是连通的。城市编号从 $1$ 到 $N$。 John 首先要选择一个城市作为旅行的起点。在之后的旅行中,他每天会待在一个城市里,然后前往与当前城市直接相连且他尚未到访过的某个随机城市。他会一直这样进行下去,直到无法再按照规则继续旅行为止。 为了选择起点,他请教了他的朋友 Jack。Jack 正盘算在一些城市开设赌场(每个城市最多一个赌场,也可以一个都不开)。Jack 很了解 John,他知道只要 John 经过带有赌场的城市,就一定会进去赌博一次,然后再继续旅行。 Jack 还知道,如果 John 进入赌场时心情好,他出来时会变得心情不好;如果进去时心情不好,他出来时会变得心情好。作为朋友,Jack 希望在 John 旅行结束时,他仍能保持好心情。John 在旅程开始前是心情好的。 Jack 想知道,有多少种方式可以选择 John 的起始城市以及设置赌场的位置,使得无论 John 如何旅行,旅行结束时他都能保持好心情?请输出方案数对 $10^{9}+7$ 取模后的结果。

输入格式

第一行包含一个正整数 $N\ (1 \leq N \leq 100000)$,表示城市数量。 接下来的 $N-1$ 行,每行包含两个用空格分隔的整数 $a,\ b\ (1 \leq a, b \leq N)$,表示城市 $a$ 和 $b$ 之间有一条双向道路。

输出格式

输出一个整数,表示满足要求的方案数,对 $10^{9}+7$ 取模。

说明/提示

样例 1:如果 Jack 选择城市 1 作为 John 的起点,可以有两种选择:一是所有城市都不建赌场,这样 John 始终心情好;二是在两个城市都建赌场,这样 John 先在城市 1 赌博一次变得心情不好,再前往城市 2 赌博一次恢复好心情,由于不能返回城市 1,旅程结束。若选择城市 2 作为起点也是对称的,所以答案为 4。 样例 2:如果让 John 从城市 1 出发,可以选择在 0 个或 2 个城市建赌场(共 4 种方式)。如果让他从城市 2 出发,那么 John 经过的行程要么包含城市 2 和 1,或城市 2 和 3。因此,Jack 要么不建赌场,要么在三个城市都建赌场。而其它选择可能让 John 最后心情不好。从 3 出发与从 1 出发对称,所以总共 $4+2+4=10$ 种方案。 由 ChatGPT 5 翻译