博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
Codeforces 292D Connected Components (并查集)
阅读量:5942 次
发布时间:2019-06-19

本文共 897 字,大约阅读时间需要 2 分钟。

Codeforces 292D Connected Components (并查集)

题意 给出一张无向图,每次询问删去第Li--Ri 条边
求此时有多少个连通块

题解

求出一个前缀 Li 表示 加入前 i 条边时图的连通状况
以及一个后缀 Ri 表示 加入后 i 条边时图的连通状况
对于每个询问 删除 s--t 条边
只要将 L s-1 和 R t+1 合并 一下 就行了
合并 其实 就是讲 s-1 和 t+1 对应的 f[ i ] Union 一下就行了
为什么 这就相当于把前缀 i 和 后缀 i 通过一条边相连 ,两个就是连通的了
这样图就合并了

 

1 #include 
2 using namespace std ; 3 4 const int N = 511,M = 10011 ; 5 struct bing{ 6 int i,e,f[N] ; 7 void init() 8 { 9 e = 0 ; 10 for(i=0;i
=1;i--) 36 r[ i ] = r[ i+1 ] , r[ i ].Union( from[ i ],to[ i ] ) ; 37 38 scanf("%d",&Q) ; 39 while(Q--)40 {41 scanf("%d%d",&s,&t) ; 42 bing tmp = l[s-1] ; 43 for(int i=1;i<=n;i++) tmp.Union( l[ s-1 ].f[ i ],r[ t+1 ].f[ i ] ) ; 44 printf("%d\n",n-tmp.e) ; 45 }46 47 return 0 ; 48 }

 

转载于:https://www.cnblogs.com/third2333/p/7116238.html

你可能感兴趣的文章
struct框架
查看>>
Deep Learning(深度学习)相关网站
查看>>
设置Eclipse编码方式
查看>>
分布式系统唯一ID生成方案汇总【转】
查看>>
Cross-compilation using Clang
查看>>
营销系统--手动补偿
查看>>
图标字体设计
查看>>
【转】Principles of training multi-layer neural network using backpropagation
查看>>
并查集hdu1232
查看>>
改动Androidproject的名称(非Eclipse重命名)
查看>>
tomcat work目录的作用就是编译每个项目里的jsp文件为java文件如果项目没有jsp页面则这个项目文件夹为空...
查看>>
dedecms后台左侧菜单500错误怎么处理
查看>>
Maven配置将war包部署到Tomcat(tomcat7-maven-plugin)
查看>>
Spring MVC学习-------------訪问到静态的文件
查看>>
Unity应用架构设计(11)——一个网络层的构建
查看>>
运行自己的shell脚本
查看>>
内存错误的类别
查看>>
Authentication 方案优化探索(JWT, Session, Refresh Token, etc.)
查看>>
Struts2 关于返回type="chain"的用法.
查看>>
Maven私服安装及配置——(十二)
查看>>