博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
【并查集】bzoj1015 [JSOI2008]星球大战starwar
阅读量:6422 次
发布时间:2019-06-23

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

倒着处理删点,就变成了加点,于是并查集。

#include
using namespace std;#define N 400001int fa[N],kill[N],rank[N],n,m,q;bool hav[N];int next[N],first[N],v[N],en,x,y,anss[N],cnt;void AddEdge(int U,int V){ v[++en]=V; next[en]=first[U]; first[U]=en;}int find(int x){ if(x==fa[x]) return x; fa[x]=find(fa[x]); return fa[x];}void Union(int U,int V){ --cnt; if(rank[U]
=1;--i) { anss[i]=cnt-i; for(int j=first[kill[i]];j;j=next[j]) if(!hav[v[j]]) { int f1=find(kill[i]),f2=find(v[j]); if(f1!=f2) Union(f1,f2); } hav[kill[i]]=0; } anss[0]=cnt; for(int i=0;i<=q;++i) printf("%d\n",anss[i]); return 0;}

转载于:https://www.cnblogs.com/autsky-jadek/p/4182912.html

你可能感兴趣的文章
android通过耳机控制音乐播放器
查看>>
《Unity3D-控制检测碰撞以后触发的事件之敌人的攻击行为》
查看>>
listview小知识整理
查看>>
Head Html Css 第二版笔记
查看>>
requestWindowFeature使用详解
查看>>
设计模式的最根本原则
查看>>
2016年,随笔.
查看>>
[转载]看我花式绕过校园网计费认证
查看>>
Git 解决本地远端版本冲突
查看>>
yum安装mysql
查看>>
GZFramework代码生成器插件使用教程
查看>>
ref 与out
查看>>
Lvs+Keepalived负载均衡方案
查看>>
hfrk2410_a1.1开发板移植linux-2.6.32.27--网卡篇(cs8900)
查看>>
Android Runtime Stats
查看>>
站立会议07
查看>>
大话设计模式
查看>>
分配和释放信号量
查看>>
力学,非线性形变
查看>>
Spring AOP
查看>>