#P50014. 图案(purtree)
图案(purtree)
题目描述
小猫梦见自己在游戏中对战。敌营是 个结点,以 为根的树,其中和恰好 个结点相邻而不为根的点叫做叶子。
敌人会为每个叶子都设定了一个整数作为密码。要想破解敌方的防线,就要获取每个叶子的密码。
现在小猫可以用 金币收买其第 个结点,这个结点就会透露出其子树内所有叶子的密码之和。
小猫当然想用最少的金币来获取各叶子的密码啦!
现在请你回答以下问题中的前 个:
- 最少的金币数;
- 有哪些结点可能在至少一种最优解法中被收买?
- 最优解法有多少种?两种解法不同,当且仅当收买的结点的集合不同。
【输入格式】
第一行 个正整数。 接下来一行 个正整数, 表示收买各结点的价格。 接下来 行,每行两个不超过 的正整数,表示树的一条边。保证这些边形成一棵树。 最后一行一个正整数 表示要回答前 个问题。
【输出格式】
第一行一个整数,表示第一个问题的答案。 如果 , 第二行按从小到大的顺序输出若干个整数,表示结点编号。 如果 , 第三行输出第三个问题的答案,模
【样例】
5
500 100 300 200 100
1 2
2 3
2 4
1 5
3
400
2 4 5
1
3
100 100 100
1 2
1 3
3
200
1 2 3
3
【数据范围】
所有数据保证 .
- 子任务 ( 分): ;
- 子任务 ( 分): ;
- 子任务 ( 分): ;
- 子任务 ( 分): ;
- 子任务 ( 分): ;
- 子任务 ( 分):无特殊限制。