【HDOJ6218】Bridge(线段树,set,网格图,连通性)

题意:给定一张2×n的网格图,一开始矩阵所有相邻点之间有一条边

   有q个询问,每次给出两个相邻的点的坐标,将其中的边删除或者添加,问如此操作之后整张图的割边数量
      n,q<=2*10^5, 图始终保证联通

思路:From https://www.cnblogs.com/rpSebastian/p/7834027.html

首先可以发现不能成为割边的边,一定被某个环所包含。因此只要维护每个环的大小即可。
若某条横边在两行中均出现了两次,才有可能构成环。用set来维护所有连续的横边。再用线段树来维护所有竖边的位置。
计算一条连续的横边产生的不能成为割边的数量,统计其中最左和最右的竖边以及竖边的数量就行了。

STL什么的 自己能力还不够 实现等有空吧 先把大佬的思路贴过来

 

posted on 2018-10-09 20:55  myx12345  阅读(279)  评论(0编辑  收藏  举报

导航