摘要:
嘟嘟嘟 题目大意:给一个有向图,问至少几条边,使其成为强连通图。 首先强联通缩点,然后分别统计入度为0的点数num1和出度为0的点数num2,答案就是max(num1, num2)。 为什么呢?不难想,入度为0说明没有点能到达他,所以必须连一条通向他的边;出度为0说明他不能通向任何点,所以也得连一条 阅读全文
posted @ 2018-09-18 17:04
mrclr
阅读(165)
评论(0)
推荐(0)
摘要:
嘟嘟嘟 总的来说,就是求最少加几条边,使图成为一个边双连通图。 显然先边双连通分量缩点,于是图就变成了一棵树(因为是无向图),然后我就在纸上画了半天,得到了一个结论:只要连叶子节点数 / 2(向上取整)条边,这颗树就成了一个边双连通图。 就是叶子之间两两连边,然后如果是奇数个叶子节点,就把多的那个向 阅读全文
posted @ 2018-09-18 16:09
mrclr
阅读(162)
评论(0)
推荐(0)
摘要:
嘟嘟嘟 很自然的想到先tarjan把强联通分量缩点,因为对于一个强联通分量,要么不选,要么全选,所以可看成一个点。 然后转化成了求DAG上的一条最长路(每一个点都有权值)。刚开始我想用dijkstra写:先把所入度为0的点都放进优先队列里,然后跑dijkstra,把所有的小于号改成大于号。 结果就W 阅读全文
posted @ 2018-09-18 14:22
mrclr
阅读(221)
评论(0)
推荐(0)
摘要:
嘟嘟嘟 这道题一看就是跟tarjan有关的,又因为题中说某一个挖煤点坍塌,那也就是图中删去一个点以及和这个点连接的所有边,所以肯定跟割点有关。对于将割点删去后图中剩下的联通块,我刚开始想只要每一个联通块有一个救援出口就行了。但后来发现这不符合出口最少(然后样例还过了),因为如果一个块连接大于等于2个 阅读全文
posted @ 2018-09-18 10:45
mrclr
阅读(350)
评论(0)
推荐(0)