U306735 最优路线1

题目描述

一个 $n$ 点 $m$ 条边的**有向图**,每个点上有一个小写英文字符 $c[i] = a\sim z$。 对于一条路径,记录下其经过的所有 $c[i] $,统计并找出其中出现次数最多的字符,定义此路径的权值为这个字符的出现次数。 例如: - 假设路径为 $ababa$,则路径权值为 $3$ - 假设路径为 $aababab$,则路径权值为 $4$ 现在有 $n$ 个人,第 $i$ 个人从 $i$ 号点出发走一条路径,每个人想要自己路径的权值尽量大,请你求出每个人路径的最大权值。 特别地,如果路径权值可以无限大,输出$-1$。

输入格式

第一行2个整数 $n,m$ 第二行1个长度为 $n$ 的字符串,代表 $c[1\sim n]$ 接下来 $m$ 行,每行2个整数 $u,v$,代表一条有向边,可能有重边、自环

输出格式

输出 $n$ 行,第 $i$ 行包含1个整数代表从 $i$ 号点出发的路径最大权值,或者 $-1$。

说明/提示

对于所有数据,$1\le n,m\le 3\times 10^5, c[i]=a\sim z,1\le u,v\le n$ 子任务1(30pts):$1\le n,m\le 10$ 子任务2(30pts):$1\le n,m\le 500$ 子任务3(20pts):$c[i]=a$ 子任务4(20pts):无特殊限制