图论:拓扑排序
文章平均质量分 90
ProLightsfxjh
这个作者很懒,什么都没留下…
展开
-
HihoCoder - 1175 拓扑排序·二 拓扑排序、BFS
题意:初始有k个节点上有一个病毒,病毒会沿着有向边向向来的节点复制传染一次,图保持无环,最后图上病毒的分布必定会到达稳定状态,求达到稳定状态时,图上的病毒数量。 拓扑排序、BFS 因为保证无环,所以可以BFS, 每次选择入度为0的节点,把病毒数量传递下去。 复杂度 O(n+m)原创 2017-04-22 14:04:42 · 886 阅读 · 0 评论 -
HihoCoder - 1457 后缀自动机四·重复旋律7 后缀自动机+拓扑排序+递推、BFS
题意:所有字符串的不同子串的“和”(也就是把串看成数字,在十进制下的求和,允许有前导0)。 后缀自动机+拓扑排序+递推、BFS 首先如果只是一个字符串,则转移的时候,st[i] == v节点会转移到u节点,则 cnt[u] = sigma{cnt[v] * 10 + c * |substrings(v)| | trans[v][c] = u}, 其中cnt[v]表示以v结尾的不同子串的和, |substrings(v)| 即为以v结尾的不同子串的个数即从s到v的路径数。 然后推广到这里的n个串,可以用原创 2017-04-22 19:02:27 · 1337 阅读 · 0 评论 -
HihoCoder - 1174 拓扑排序·一 拓扑排序、BFS
拓扑排序基础题,判断图中是否有环。 拓扑排序、BFS 每次把入度为0的点删除后入队,进行BFS,最后如果有剩余没有删除的点,则存在环,否则没有。 复杂度 O(n+m)原创 2017-04-22 13:52:09 · 1096 阅读 · 0 评论 -
UESTC 1635 琵琶弦上说相思,当时明月在,曾照彩云归 拓扑排序、bfs
题意:给出n个仅由小写字母组成的字符串,要求找出一种字典序, 使得这n个字符串在这种字典序下是从小到大排列的。 拓扑排序、bfs 对于相邻的2个字符串当第一次遇到不相等的字符是前一个u必定比比后一个v小, 所以可以u向v连一条有向边。 然后对于建出的这个图,跑一次拓扑排序即可。 时间复杂度 O(n*length) 空间复杂度 O(n*length)原创 2017-05-28 15:46:59 · 1249 阅读 · 0 评论 -
Codeforces Round #460 (Div. 2) D. Substring BFS、拓扑排序、dp
题意:给出一个可能有环可能不连通的图,找出一个路径其上出现最多的字母出现的次数最大,求这个最大值。 BFS、拓扑排序、dp 这题与以前一个求最长路径的题差不多,这里定义状态dp[i][j]表示从某点开始跑到节点i时路径上出现字母j+'a'的最大次数。 只需要按照拓扑序跑一遍dp即可, ch[v] != j, dp[v][j] = max(dp[v][j], dp[u][j]); ch[v] != j, dp[v][j] = max(dp[v][j], dp[u][j] + 1); 最后如果度数不为0的点则有原创 2018-02-01 12:09:48 · 479 阅读 · 0 评论