zoukankan      html  css  js  c++  java
  • 一句话题解

    tarjan

    poj 3352 Road Construction

    求最少添加几条边才能使所给无向图变成边双连通图。

    求出边双,缩点成一个树,之后统计树上的点度数为1的点的个数cnt,(cnt+1)/2就是答案。

    定理:任意一颗无向图的树,成为双连通图,则需要增加的边数为(这棵树上所有度数为1的结点的个数+1)/2。

    luogu P2746 [USACO5.3]校园网Network of Schools 

    1.求最少让几个人知道就可以做到让所有的人都知道信息,最少知道的人的数目即为缩完点后入度为零的点的个数

    2.最少加入几条边就可以使一个树变成一个强连通图,加的边的条数即为缩完点后 Max(入度为零的点的个数,出度为零的点的个数)

    定理:任意一棵有向图的树,成为强联通分量,则需要增加的边数为max(入度为0的点的个数,出度为0的点的个数)

     

    P3119 [USACO15JAN]草鉴定Grass Cownoisseur

    求改变一条边的方向,有向图中包含1的强联通分量最大。

    缩点所有的强联通分量,然后拓扑求最长链到1的距离,枚举改那条边

    P2515 [HAOI2010]软件安装

    tarjan缩点+树形dp

     

     

     

  • 相关阅读:
    P2018 消息传递[dp]
    P1436 棋盘分割[dp]
    一条线段引发的思考
    浅谈树上差分
    P2680 运输计划[二分+LCA+树上差分]
    P1600 天天爱跑步[桶+LCA+树上差分]
    P4560 [IOI2014]Wall 砖墙
    P1311 选择客栈[模拟]
    P1314 聪明的质监员[二分答案]
    Linux snmp导入MIB库
  • 原文地址:https://www.cnblogs.com/mjtcn/p/7895578.html
Copyright © 2011-2022 走看看