码迷,mamicode.com
首页 > 其他好文 > 详细

Codeforces 920E(补图BFS)

时间:2018-02-03 23:17:50      阅读:624      评论:0      收藏:0      [点我收藏+]

标签:class   log   set   复杂   链表删除   很多   code   暴力   一个   

题意:

  n(n<=200000)个点的完全图删去了m(m<=200000)条边,求剩下图的连通分量。

分析:

  将未访问过的点用一个链表串起来

  仍旧进行BFS,每次BFS扩展一个点u的时候,暴力去for链表,如果发现有与u相连的点则该点入队且从链表删除

  直至链表为空

  我们来分析一下这个的复杂度,首先明显每个点只会删除一次,O(n)

  但是一个点会被for很多次,我们发现被for很多次是在原图有边的情况,所以是O(2*m)

  总的复杂度O(n+m)

  具体在实现过程中,要判断两点是否右边,所以要用一个set,复杂度多个log

Codeforces 920E(补图BFS)

标签:class   log   set   复杂   链表删除   很多   code   暴力   一个   

原文地址:https://www.cnblogs.com/wmrv587/p/8410834.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!