摘要: 题意: 给出n个点和他们之间的一些关系.. 问加多少条边可以使所有的点变成强连通分量..思路: 根据题意就可以知道有这个推理: 原图缩点后的有向无环图.. 出度为0的点和入度为0的点中个数少的那些点向个数多的那些点连线.. 可以使森林变成强连通分量..Tips: 注意如果缩点后变成一个点了.. 则入度为0和出度为0的点的个数都是1 但是实际上已经是强连通分量..不需要连线了.. 所以答案应该是0Code:View Code 1 #include <stdio.h> 2 #include <cstring> 3 #include <algorithm> 4.. 阅读全文
posted @ 2012-10-04 21:42 Griselda. 阅读(215) 评论(0) 推荐(0) 编辑
摘要: 题意: 给出n个学校的兄弟学校..<单方面认为> 如果给了一个软件给某个学校..他就会把这个软件给他的兄弟学校.. 然后求两个解: 1st: 至少准备多少个软件..可以使所有的学校都有这个软件.. 2nd:至少加多少条边..可以使只给一个软件..就能让所有学校都得到这个软件..输入: 一个n 代表有n个学校.. 接下来n行.. 第i行 给出第i个学校的兄弟学校(单方面认为)的列表..以0结束.. 输出两个解的结果..思路:缩点之后把原图变成一个有向无环图.. 两个解可以看成是: 1st:把该有向无环图看成一个森林..求的就是有多少棵树..<即入度为0的根节点的个数... 阅读全文
posted @ 2012-10-04 21:09 Griselda. 阅读(185) 评论(0) 推荐(0) 编辑