題目大意:有一些化合物,每個化合物都由兩種元素組成的(每個元素用乙個大寫字母表示)。你是乙個裝箱的工人,從實驗員那裡按照順序依次把一些簡單化合物裝到車上。但這裡存在乙個安全隱患:如果車上存在k個簡單的化合物,正好包含k中元素,那麼它們將組成乙個易爆的混合物。為了安全起見,每當你拿到乙個化合物時,如果它和已裝的化合物形成易爆混合物,你就應當拒絕裝車;否則就應該裝車。程式設計輸出有多少個沒有裝車的化合物
將元素視為頂點,化合物視為邊,則可將題目轉化為新增一條邊進去後是否生成環
故可用並查集判環
**如下
#include#includeusing namespace std;
const int maxn=1e5+10;
int f[maxn];
int find(int x)
return f[x];
}int main()
else
f[xx]=yy;
scanf("%d",&x);
} printf("%d\n",ans);
} return 0;
}
一開始沒多組輸入 臨時加上就加了個while(1) 然後就瘋狂超時了 學長說是玄學。。。。。。? hdu 4514 並查集判環)
tencent昨天比賽的題目,昨天看的時候沒什麼思路,今天在網上搜了一下,說是可以用並查集做。果然,過了。看來還是做的題不夠多啊!思路 並查集判環,並把每次的邊權值都加到根結點的上去,最後求每個根結點權值的最大值就行了。orz 1 include2 include3 const int n 1000...
HDU 1272 並查集判環
上次gardon的迷宮城堡小希玩了很久 見problem b 現在她也想設計乙個迷宮讓gardon來走。但是她設計迷宮的思路不一樣,首先她認為所有的通道都應該是雙向連通的,就是說如果有乙個通道連通了房間a和b,那麼既可以通過它從房間a走到房間b,也可以通過它從房間b走到房間a,為了提高難度,小希希望...
POJ 1308(並查集,判連通,無環)
題意 給定一組資料 u,v 代表u指向 v。判斷這組資料是否形成一棵樹。題解 利用樹的特性 連通且無環。或者利用樹的性質 無環 或者聯通 且 v e 1 無環可以用並查集去判定。連通可以根據並查集確定有幾個根節點來判斷。邊數 v是加的邊數,點 e可以用 set得出。無環。e v 1。include ...