bzoj 1015: [JSOI2008]星球大战starwar 并查集+离线处理
来源:互联网 发布:百乐钢笔淘宝哪家 编辑:程序博客网 时间:2024/04/27 16:10
代码:
#include<iostream>#include<cstdio>#include<cstdlib>#define inf 0x7fffffffusing namespace std;int n,m,cnt,q,last[400001],ans[400001],f[400001],a[400001],v[400001];struct data{int u,v,next;}e[400005];void insert(int u,int v){cnt++;e[cnt].u=u;e[cnt].v=v;e[cnt].next=last[u];last[u]=cnt;cnt++;e[cnt].u=v;e[cnt].v=u;e[cnt].next=last[v];last[v]=cnt;}int find(int x){if (f[x]==x) return x;f[x]=find(f[x]);return f[x];}int main(){scanf("%d%d",&n,&m);for (int i=1;i<=m;i++){int u,v;scanf("%d%d",&u,&v);insert(u,v);}scanf("%d",&q);for (int i=1;i<=q;i++){scanf("%d",&a[i]);v[a[i]]=1;}for (int i=0;i<n;i++) f[i]=i;int sum=n-q;for (int i=0;i<n;i++)if (!v[i]){int j=last[i];while (j){if (!v[e[j].u]&&!v[e[j].v]&&find(e[j].u)!=find(e[j].v)){sum--;f[find(e[j].u)]=find(e[j].v);}j=e[j].next;}}for (int i=q;i>=1;i--){ans[i]=sum;sum++;int j=last[a[i]];v[a[i]]=0;while (j){if (!v[e[j].u]&&!v[e[j].v]&&find(e[j].u)!=find(e[j].v)){sum--;f[find(e[j].u)]=find(e[j].v);}j=e[j].next;}}printf("%d\n",sum);for (int i=1;i<=q;i++) printf("%d\n",ans[i]);return 0;}
0 0
- bzoj 1015: [JSOI2008]星球大战starwar 并查集+离线处理
- [bzoj 1015] [JSOI2008]星球大战starwar:并查集,离线
- BZOJ 1015: [JSOI2008]星球大战starwar 并查集 离线维护
- BZOJ-1015 StarWar星球大战 并查集+离线处理
- BZOJ1015: [JSOI2008]星球大战starwar 并查集 离线处理
- 1015: [JSOI2008]星球大战starwar 离线并查集
- 并查集 BZOJ 1015 1015: [JSOI2008]星球大战starwar
- BZOJ 1015 JSOI2008 星球大战 starwar 并查集
- bzoj 1015 JSOI2008 星球大战starwar 并查集
- 【bzoj 1015[JSOI2008]星球大战starwar 反向并查集
- 【bzoj 1015】[JSOI2008]星球大战starwar(并查集)
- bzoj 1015: [JSOI2008]星球大战starwar 并查集
- [BZOJ 1015][JSOI2008]星球大战starwar:并查集
- (bzoj 1015: [JSOI2008]星球大战starwar)<并查集>
- BZOJ 1015 [JSOI2008]星球大战starwar 并查集
- BZOJ 1015 [JSOI2008]星球大战starwar(连通块+并查集)
- 【并查集+离线】BZOJ1015 [JSOI2008]星球大战starwar
- BZOJ 1015 [JSOI2008]星球大战——并查集+离线处理
- Linux udev规则编写
- Ilya Sutskever 关于深度学习的一些实用建议笔记
- MVP+Dagger2+Retrofit+Rxjava
- POJ1716 G - Integer Intervals(区间选点)
- Codeforces Round #303 (Div. 2) C dp
- bzoj 1015: [JSOI2008]星球大战starwar 并查集+离线处理
- poj 3169 Layout(差分约束,最短路)
- 面试题总结:链表类型
- ios与js交互
- 使用Docker构建持续集成与自动部署的Docker集群
- SpingMVC ModelAndView, Model,Control以及参数传递
- mybatis执行查询语句查询不到结果,控制台输出sql语句复制到数据库中能查到数据
- c 输出格式
- qt 之 QFileSystemModel