摘要:
题目链接:http://acm.hdu.edu.cn/showproblem.php?pid=4005思路:首先考虑边双连通分量,如果我们将双连通分量中的边删除,显然我们无法得到非连通图,因此要缩点成树,对于树上的边,我们找到权值最小的边,从这条边的两个端点开始深搜,然后找分别一这两个端点为根的子树中第二权值小的边的最小值。http://paste.ubuntu.com/5954870/ 阅读全文
摘要:
题目链接:http://acm.hdu.edu.cn/showproblem.php?pid=2460思路:题目的意思是要求在原图中加边后桥的数量,首先我们可以通过Tarjan求边双连通分量,对于边(u,v),如果满足low[v]>dfn[u],则为桥,这样我们就可以知道图中桥的数目了。对于每一次query,可以考虑dfs树,树边肯定是桥,然后连上u,v这条边之后,就会形成一个环,这样环内的边就不是割边了,所以只要找到u,v的LCA,把这个路径上的桥标记为否就可以了。http://paste.ubuntu.com/5953573/ 阅读全文
摘要:
题目链接:http://poj.org/problem?id=2516思路:考虑某种货物,由于某个订货商可能接受来自不同地区的货物,而某一地区的货物也可能送给不同的订货商,显然不能直接进行匹配,必须拆点,设某个订货商的订货量为k,就应该把该订货商拆成k个点,这样就能最多接受k个地区的货物供应,同理,地区也应该拆成它的存储量个点。然后就是最小权匹配了(这里要进行K次).http://paste.ubuntu.com/5953296/ 阅读全文