摘要: http://poj.org/problem?id=3352题意:给出一个有n个顶点m条边的无向连通图,问至少添加几条边,使删除任意一条边原图仍连通。思路:一个边双连通图删除任意一条边仍为连通图。故此题即为求原图添加几条边能成为边双连通图。先对无向图中的强连通分量进行缩点,所有的缩点就能构成一棵树,节点之间的连线即为桥。只需将树中的叶子节点相连,就能构成一个边双连通图。叶子节点即为度为1的连通分量。low[i]值相同的点在同一个连通分量中。所加边数=(叶子数+1)/2; 1 #include 2 #include 3 #include 4 #include 5 using namesp... 阅读全文
posted @ 2014-02-16 21:07 N_ll 阅读(514) 评论(0) 推荐(0)
摘要: http://poj.org/problem?id=3592题意:给出一个n*m的矩阵,左上角代表起始点,每个格子都有一定价值的金矿,其中‘#’代表岩石不可达,‘*’代表时空门可以到达指定格子,求出可以获得的最大价值。思路:时空门的存在可能会使得图中出现环,所以先对强连通分量进行缩点,然后对于缩点后的连通分量建立有向无环图,spfa求到起始点的最长路。 1 #include 2 #include 3 #include 4 #include 5 #include 6 using namespace std; 7 const int N=2020; 8 const int... 阅读全文
posted @ 2014-02-16 16:29 N_ll 阅读(280) 评论(0) 推荐(0)
摘要: http://poj.org/problem?id=1396挺坑的一道题,调试了一天跪在了格式上,要注意的情况很多,样例太没有代表性了,很容易理解错格式。。要注意的情况:(1)(加法、减法) 水平线 '----' 的数量为它相邻两侧字符串的最大长度。 (2)(乘法) 当第二个数为一位数时,’----'的数量同(1); 否则输出两次’----‘,最上面的’-----‘数量同(1),下面的’----‘数量为最后结果的长度。 (3)计算减法的时候,结果要去掉前导0。 (4)注意右对齐,每组数据后有一个空行。样例:(1) 999 1000 100(2) 1231240(3) 8 阅读全文
posted @ 2014-02-16 01:53 N_ll 阅读(485) 评论(0) 推荐(0)