loj#P2473. 「九省联考 2018」秘密袭击

「九省联考 2018」秘密袭击

题目描述

We could have had it all……

我们本该,拥有一切

Counting on a tree……

何至于此,数数树上

Counting on a Tree(CoaT)即是本题的英文名称。

Access Globe 最近正在玩一款战略游戏。在游戏中,他操控的角色是一名 C 国士兵。他的任务就是服从指挥官的指令参加战斗,并在战斗中取胜。C 国即将向 D 国发动一场秘密袭击。作战计划是这样的:选择 D 国的 ss 个城市,派出 C 国战绩最高的 ss 个士兵分别秘密潜入这些城市。每个城市都有一个危险程度 did_i,C 国指挥官会派遣战绩最高的士兵潜入所选择的城市中危险程度最高的城市,派遣战绩第二高的士兵潜入所选择的城市中危险程度次高的城市,以此类推(即派遣战绩第 ii 高的士兵潜入所选择城市中危险程度第 ii 高的城市)。D 国有 nn 个城市,n1n − 1 条双向道路连接着这些城市,使得这些城市两两之间都可以互相到达。为了任务执行顺利,C 国选出的 ss 个城市中,任意两个所选的城市,都可以不经过未被选择的城市互相到达。

Access Globe 操控的士兵的战绩是第 kk 高,他希望能估计出最终自己潜入的城市的危险程度。Access Globe 假设 C 国是以等概率选出任意满足条件的城市集合 SS,他希望你帮他求出所有可能的城市集合中,Access Globe 操控的士兵潜入城市的危险程度之和。如果选择的城市不足 kk 个,那么 Access Globe 不会被派出,这种情况下危险程度为 00

当然,你并不想帮他解决这个问题,你也不打算告诉他这个值除以 998,244,353998, 244, 353 的余数,你只打算告诉他这个值除以 64,12364,123 的余数。

输入格式

从标准输入中读入数据。

11 行包含 33 个整数 n,k,Wn, k, W,表示 D 国城市的个数、Access Globe 所操控士兵潜入的城市战绩排名以及 D 国的所有城市中最大的危险程度;

22 行包含 nn11WW 之间的整数 d1,d2,,dnd_1, d_2 ,\dots , d_n,表示每个城市的危险程度;

33 行到第 n+1n + 1 行,每行两个整数 xi,yix_i , y_i,表示 D 国存在一条连接城市 xix_i 和城市 yiy_i 的双向道路。

输出格式

输出到标准输出中。

输出一个整数,表示所有可行的城市集合中,Access Globe 操控的士兵潜入城市的危险程度之和除以 64,12364,123 的余数。

5 3 3
2 1 1 2 3
1 2
2 3
1 4
1 5
11
10 2 3
2 1 1 3 1 2 3 3 1 3
1 2
2 3
2 4
2 5
2 6
5 7
1 8
8 9
1 10
435

数据范围与提示

测试点 n=n= kk\leq W=W= 地图是一条链
11 33 nn 1,6661,666 保证
22 1515 不保证
33 2020
44 300300 1010 保证
55 1,6661,666 1,6661,666
66 5050 不保证
77 200200
88 500500
99 1,1111,111 10210^2
1010 5050 1,1111,111
1111 10210^2 1,6661,666
1212 1,6661,666
1313 200200
1414 500500
1515 nn
1616
1717
1818
1919
2020

对于所有的数据,$1 \leq k \leq n, 1 \leq d_i \leq W, 1\leq n, k, W \leq 1, 666$。