#CF2040E. 随机性控制
随机性控制
E. 随机性控制
每个测试的时间限制:2 秒
内存限制:256 兆字节
你有一棵包含 个顶点的树。
假设我们把机器人放在某个顶点 上,初始时有 枚硬币。考虑以下过程,在第 步(从 开始):
- 若 是奇数,机器人向顶点 的方向移动到相邻顶点;
- 若 是偶数,你可以选择:
- 若还有硬币剩余,支付一枚硬币,然后机器人向顶点 的方向移动到相邻顶点;
- 或不支付硬币,则机器人随机均匀地移动到一个相邻顶点。
当机器人到达顶点 时,过程结束。
设 为 最优使用硬币的情况下,上述过程中期望步数的最小可能值。
你需要回答 个查询,在第 个查询中,求出 的值,并对 取模 。
输入
每个测试包含多个测试用例。第一行包含测试用例的数量 ()。
每个测试用例的描述如下:
- 第一行包含两个整数 和 (;)—— 树的顶点数和查询数。
- 接下来 行,每行包含一条边 和 (,)。
- 接下来 行,每行包含两个整数 和 (;)。
保证:
- 给定的边构成一棵树。
- 所有测试用例的 之和 。
- 所有测试用例的 之和 。
输出
对于每个测试用例,输出 个整数: 对 取模后的值。
形式化定义:
令 。可以证明答案为不可约分数 ,其中 为整数且 。
输出整数 满足 且 。
示例
输入:
2
4 4
1 2
2 3
2 4
2 0
3 0
4 0
3 1
12 10
1 2
2 3
2 4
1 5
5 6
6 7
6 8
6 9
8 10
10 11
10 12
6 0
9 0
10 0
11 0
3 1
7 1
10 1
12 1
12 2
11 12
输出:
1
6
6
2
4
9
8
15
2
3
6
9
5
5
注释
第一个测试用例的树结构:
- 第一个查询:期望值为 ,因为机器人从顶点 出发,第一步就向顶点 移动并结束。
- 第二个查询():
距离顶点 为 ,机器人不可能在少于 步内到达。
计算得 。
第二个测试用例的树结构见题目原图。