深夜未耕
【乙個典型的並查集】
參考**:
借用了裡面的掌門學說注釋這道題
#include using namespace std;
int pre[1010];
//你不知道吧 我乙個人在寢室 放著楊千嬅的小星星 對面你發來一句話 我對著螢幕空空地說
//"我喜歡你!"
//"我喜歡你你聽到了嗎 聽不到也沒關係 我在慢慢像你靠近"
int find(int x)
//i=x;i的直屬掌門是pre[i],也正好是路徑壓縮裡面下乙個需要重新皈依門派的人;r賦值給pre[i],就是讓i明白終極掌門是r,在pre這個記錄掌門是誰的陣列裡面存一下;最後j的值(pre[i]的值)給i,也就是路徑壓縮裡面下乙個需要重新皈依門派的人,繼續這個迴圈,一路上問過的人他們的終極掌門都是r,最後返回r
return r;//最後返回的是他們最終的掌門.jpg
}int main()
} cout << total << endl;
//因為有重複 的呀,如果重複total就不會減了,知道本來最開始 有多少人很重要。
} return 0;
}
【另外】自己上手打了一遍,還有兩個要注意:
陣列稍微開大一點
for (int i = 1; i <= n; i++)
pre[i] = i;
這裡是從1開始的(好習慣?emmm)
因為編號這種東西並不會智慧型到從0開始 注意一下
//吐槽.....這個題怎麼這麼幹的並查集,還是只有25a= =
// 從寒假開始第一場*64的人到現在只有 *32..還是要善始善終呀
//你看..我只要有環境,簡直是無所不能啊!
// 在寢室裡乙個晚上都沒搞好的東西....來到機房鎖手機十分鐘寫完了 還是需要個人監督我0 0今天是和她約了早起
//加油啦!
hdu1213並查集模板
題意 n個人吃飯 給出認識的關係,認識的才能在一張桌子上吃飯,求最少需要幾張桌子 思路 沒給出兩人關係,放入 並查集中 最後查詢父節點的數目即可 include include include include include include using namespace std int n,m i...
hdu1213 並查集板子
並查集是一種支援合併與查詢的資料結構,在森林中進行操作,加上路徑壓縮,合併和查詢的時間複雜度幾乎都是常數。並查集最基礎的作用就是建立不同的點之間的所謂的 關係 並且查詢兩者是否有關係。並查集的乙個特點是向量型關係傳遞性,比如a b b c,則有a c,是不是特別像向量之間的傳遞?在很多時候並查集的應...
爆炒洋蔥圈 HDU 1213 並查集初學
雖說做專案會讓人有成就感,但是演算法這種考驗基礎的東西不能落下。更何況我演算法那麼差呢。最近在刷學校的oj準備ccf,刷到了並查集,寫下這篇文章供自己以後和後來人查閱。如有紕漏,敬請指教。並查集是一種樹形的資料結構,用於處理一些不相交集合的合併和查詢問題。常常在使用中以森林來表示 descripti...