摘要: 先tarjan求出割点..割点把图分成了几个双连通分量..只需dfs找出即可. 然后一个bcc有>2个割点, 那么这个bcc就不用建了, 因为一定可以走到其他救援出口. 只有一个割点的bcc就要建, bcc内任何一个非割点的结点都可以建. dfs的时候记一下bcc的结点数, 然后乘法原理算出方案数.... 阅读全文
posted @ 2015-10-01 23:26 JSZX11556 阅读(278) 评论(0) 推荐(0) 编辑
摘要: 先判无解把整个棋盘都放上士兵, 只需求最多可以拿走多少个士兵即可.每一行看做一个点r(i), 每一列看做一个点c(i)S->r(i), c(i)->T 连边, 容量为可以拿走的最大士兵数(i,j)不是障碍格:r(i)->c(j),容量+oo最后答案为n*m-k-maxflow------------... 阅读全文
posted @ 2015-10-01 19:41 JSZX11556 阅读(278) 评论(0) 推荐(0) 编辑
摘要: 坑爹...数据是错的..详见discuss http://www.lydsy.com/JudgeOnline/wttl/wttl.php?pid=1060先求根到叶子的距离最大值x, 然后把所有叶子到根的距离变成x. 要使增加的最少, 就要利用不同叶子到根的路径的重复部分...然后各种乱搞就可以了.... 阅读全文
posted @ 2015-10-01 18:24 JSZX11556 阅读(264) 评论(0) 推荐(0) 编辑