AtCoder Beginner Contest 292

E - Transitivity

  

 

 

   这道题首先要看一下自己有没有理解错题意:

    

 

 

 

 

 

       问:点2和点3之间要连边吗?

     答案是不需要的,因为根据题意

      那么要连边的两点就是在同一条链上

    对于每一条可以形成的链,上面的点都要与下面可到达的点连边(除去原图本来就连上的边)

    问题转化为求全部可形成链的点的个数

       可以枚举链的顶点x,开始dfs(x),求出链的顶点x要连边的个数

    (枚举顶点x,还有个重要的原因是可能这个图不是树形单向的有向,而是可能双向)

    如:

 

 

posted @ 2023-03-05 16:47  次林梦叶  阅读(24)  评论(0)    收藏  举报