UOJ Logo Universal Online Judge

UOJ

#605. 【UER #9】知识网络

附件下载 统计

作为文化课大师,skip 蚤的大脑中组织着一份复杂的知识网络。

skip 蚤的知识网络中有 n 个知识点,不妨将它们从 1n 编号。skip 蚤在刷题历程中遇见过 m 道令其印象深刻的习题,其中第 i 道题在知识点 uivi 之间建立了联系。同时,每个知识点恰有一个标签,为了知识整理的便捷,标签的数量不会很多,只有 k 个,不妨从 1k 将它们编号。

知识网络帮助 skip 蚤从一个知识点快速发散思考到其他的知识点。定义思考序列为一个由知识点构成的序列 a1,a2,,ar,满足对于所有 1ir1,要么知识点 aiai+1 之间建立了联系,要么知识点 aiai+1 拥有相同的标签。

为了考察发散思考的便捷程度,skip 蚤对两个不同的知识点 1p<qn 定义知识网络上 p,q思考便捷值 f(p,q) 为满足序列起始为 p、末尾为 q 的思考序列的最短长度,如果不存在这样的序列,则 f(p,q)=2k+1

skip 蚤想知道:对于 1x2k+1,有多少个二元组 (p,q)(1p<qn) 满足 f(p,q)=x

输入格式

第一行三个整数 n,m,k,分别表示知识网络中的知识点数、联系数和标签数。

第二行 n 个整数 p1,p2,,pn,其中 pi 表示编号为 i 的知识点拥有的标签编号。

接下来 m 行每行两个整数 ui,vi,表示在知识网络中知识点 ui 与知识点 vi 之间建立了联系。

输出格式

输出一行 2k+1 个数,第 i 个数表示有多少个二元组 (p,q)(1p<qn) 满足 f(p,q)=i

样例一

input

6 3 3
1 2 2 3 3 3
3 4
4 5
4 3

output

0 5 3 2 0 0 5

explanation

f(2,3)=f(3,4)=f(4,5)=f(5,6)=f(4,6)=2

f(2,4)=f(3,5)=f(3,6)=3

f(2,5)=f(2,6)=4

f(1,2)=f(1,3)=f(1,4)=f(1,5)=f(1,6)=7

样例二

见附加文件中 ex_knowledge2.inex_knowledge2.out,该组样例满足 n,m3000

样例三

见附加文件中 ex_knowledge3.inex_knowledge3.out,该组样例无特殊性质。

数据范围

对于 100% 的数据,1n5×104,0m5×104,1k150,1pik,1ui,vin,uivi

测试点编号 特殊性质
1 n500
2 n,m3000
3
4 m3000
5
6 n,m2×104,k60
7
8 k=10,序列 p 中每种数出现次数相同
9
10

时间限制4s

空间限制256MB

下载

样例数据下载