摘要: 其实每个柱子就相当于最小路径覆盖中的一根柱子。 我们要在有n条路径的最小覆盖中加尽量多的点。 所以我们枚举答案加边即可。 By:大奕哥 阅读全文
posted @ 2018-01-28 13:00 大奕哥&VANE 阅读(123) 评论(0) 推荐(0) 编辑
摘要: DAG的最小不相交路径覆盖 算法:把原图的每个点V拆成Vx 和Vy两个点,如果有一条有向边A->B,那么就加边Ax−>By 。这样就得到了一个二分图。那么最小路径覆盖=原图的结点数-新图的最大匹配数。 证明:一开始每个点都是独立的为一条路径,总共有n条不相交路径。我们每次在二分图里找一条匹配边就相当 阅读全文
posted @ 2018-01-28 11:21 大奕哥&VANE 阅读(302) 评论(0) 推荐(0) 编辑
摘要: 题目一开始看以为和强联通分量有关,后来发现是无向边,其实就是求原图的补图的联通块个数和大小。学习了黄学长的代码,利用链表来优化,其实就是枚举每一个人,然后把和他不相连的人都删去放进同一个联通块里,利用bfs来实现。——by VANE 阅读全文
posted @ 2018-01-28 11:13 大奕哥&VANE 阅读(203) 评论(0) 推荐(0) 编辑