题意:ubuntu
给一个含n个结点和m条有向边的图。其中每个结点都有一个小写字母与其对应。定义在一条路径上出现各个字母的最大次数为这条路径的value,求全部路径中最大的value。若是value是无限大,则输出-1。 排序
思路:ast
dp+topo排序.搜索
dp[v][ch]为:到v点,字符ch的频率.dp[v][ch]=max(dp[v][ch],dp[u][ch]+ch==s[v])hasEdge(u,v)top
我写的记忆化搜索有点问题,这里有一个递推形式给出的.co
https://paste.ubuntu.com/26503386/字符
因此在DAG上dp和判环是能够同时进行的.ps