BF的資料結構題單-提高組 ——P1197 [JSOI2008]星球大戰
P1197 [JSOI2008]星球大戰
題解:
經典題,反向加邊。
#include<bits/stdc++.h>
using namespace std;
const int N=4e5+10;
vector<int> g[N];
int pre[N];
typedef pair<int,int> pp;
vector<pp> edge;
int res[N],cnt,vis[N],a[N];
int find(int a)
{
if(pre[a]!=a) return pre[a]=find(pre[a]);
return pre[a];
}
void merge(int a,int b)
{
pre[a]=b;
}
signed main()
{
// memset(head,-1,sizeof head);
int n,m; cin>>n>>m;
int num=n;
for(int i=0;i<n;i++) pre[i]=i;
for(int i=1;i<=m;i++){
int a,b; scanf("%d%d",&a,&b);
edge.push_back({a,b});
g[a].push_back(b);
g[b].push_back(a);
}
int k; cin>>k;
for(int i=1;i<=k;i++){
int tmp; scanf("%d",&tmp);
a[i]=tmp;
vis[tmp]=1;
}
int tot=0;
for(int i=0;i<edge.size();i++){
if(vis[edge[i].second]||vis[edge[i].first]) continue;
int fx=find(edge[i].first),fy=find(edge[i].second);
if(fx==fy) continue;
merge(fx,fy);
n--;
tot++;
}
// cout<<"n : "<<n<<endl;
res[k+1]=num-k-tot;
for(int i=k;i>=1;i--){
vis[a[i]]=0;
for(int j=0;j<g[a[i]].size();j++){
if(vis[g[a[i]][j]]) continue;
int fx=find(g[a[i]][j]),fy=find(a[i]);
if(fx!=fy) {
merge(fx, fy);
tot++;
}
}
res[i]=num-i+1-tot;
}
for(int i=1;i<=k+1;i++) printf("%d\n",res[i]);
return 0;
}
相關文章
- BF的資料結構題單-提高組——樹鏈剖分資料結構
- P1197-[JSOI2008]星球大戰JS
- CSP-S提高組資料結構演算法模板大合集資料結構演算法
- 資料結構簡單題資料結構
- 探索資料結構:單連結串列的實戰指南資料結構
- 實戰PHP資料結構基礎之單連結串列PHP資料結構
- python資料結構元組tuplePython資料結構
- 組織架構新型資料結構思考架構資料結構
- leetcode演算法資料結構題解---資料結構LeetCode演算法資料結構
- 資料結構之單連結串列資料結構
- 資料結構04——單連結串列資料結構
- 大資料的結構和特點大資料
- 如何構建有效的大資料戰略大資料
- Java刷題常用的資料結構總結Java資料結構
- Redis 5大資料結構Redis大資料資料結構
- 大話 Redis 資料結構Redis資料結構
- 與《毀滅戰士》比肩的“星球大戰”遊戲(下)遊戲
- 與《毀滅戰士》比肩的“星球大戰”遊戲(上)遊戲
- 【整理】資料結構——題目資料結構
- 特殊資料結構:單調棧資料結構
- CSP-S/NOIP提高組 真題題解總結
- 資料結構與演算法之硬幣組合問題資料結構演算法
- 馬斯克和貝索斯的“星球大戰”馬斯克
- 杭州電子科技大學2018年自命題科目考試大綱(資料結構與組成原理)資料結構
- 資料結構——單連結串列的C++實現資料結構C++
- 基礎資料結構大賞資料結構
- 筆記:大話資料結構筆記資料結構
- 資料結構練習題(順序表和單連結串列)C++資料結構C++
- 資料結構-單連結串列、雙連結串列資料結構
- 資料結構連結串列筆試題資料結構筆試
- 資料結構面試100題資料結構面試
- 資料結構演算法題資料結構演算法
- 資料結構專題練習資料結構
- [做題筆記] 資料結構筆記資料結構
- js實現資料結構--單連結串列JS資料結構
- 【資料結構】線性表-單連結串列資料結構
- DKHadoop大資料開發框架的構成模組Hadoop大資料框架
- 資料結構——單鍵表操作集資料結構