[基环树]n点n边的图

基环树套路

1:先找环
2:在环上处理问题
两点之间的简单路径

  • 如果在环上,cnt=2
  • 如果不在环上,cnt=1

因此,反着思考,只需要考虑两点之间不在环上的点。
那么子问题就成了计算每个环上的点子树的个数。

判环

有向图:

  只有正边权

  (拓扑)

  既有正权边又有负权边 spfa判断

无向图:

  直接遍历一遍,如果遇到返祖边则判断一下当前记录的dis[u]+e[i].dis是否为负(正)

  如果是,则一定有负(正)环,否则当前没有负环,回溯

 

  

posted @ 2020-11-27 14:59  kaike  阅读(99)  评论(0编辑  收藏  举报