CF919D Substring
题目描述
给定一个包含 $n$ 个点和 $m$ 条有向边的图。每个节点都被分配了一个小写字母。我们定义一条路径的“价值”为该路径上出现次数最多的字母的出现次数。例如,如果某条路径上的字母序列为 "abaca",则该路径的价值为 $3$。你的任务是找出一条价值最大的路径。
输入格式
第一行包含两个正整数 $n,m$($1 \leq n, m \leq 300000$),表示该图有 $n$ 个节点和 $m$ 条有向边。
第二行包含一个仅由小写英文字母组成的字符串 $s$,第 $i$ 个字符表示分配给第 $i$ 个节点的字母。
接下来 $m$ 行,每行包含两个整数 $x, y$($1 \leq x, y \leq n$),表示有一条从 $x$ 到 $y$ 的有向边。注意 $x$ 可以等于 $y$,且 $x$ 到 $y$ 之间可以有多条边,图可能是不连通的。
输出格式
输出一个整数,表示所有路径中最大的价值。如果路径的价值可以无限大,则输出 $-1$。
说明/提示
在第一个样例中,价值最大的路径为 $1 \to 3 \to 4 \to 5$。由于字母 'a' 出现了 $3$ 次,所以价值为 $3$。
由 ChatGPT 5 翻译