多多色-多人伦交性欧美在线观看-多人伦精品一区二区三区视频-多色视频-免费黄色视屏网站-免费黄色在线

國(guó)內(nèi)最全I(xiàn)T社區(qū)平臺(tái) 聯(lián)系我們 | 收藏本站
阿里云優(yōu)惠2
您當(dāng)前位置:首頁(yè) > php開(kāi)源 > php教程 > poj 1988(并查集)

poj 1988(并查集)

來(lái)源:程序員人生   發(fā)布時(shí)間:2015-06-04 08:25:21 閱讀次數(shù):2738次

題意:有30000個(gè)木塊,編號(hào)從1到30000,然后有兩種操作M a b,把木塊a所在的堆塊放到木塊b所在的堆塊上,操作C a,詢問(wèn)木塊a下面有多少個(gè)木塊。
題解:用1個(gè)數(shù)組s[i]存木塊i所在堆塊1共有多少個(gè)木塊,由于要求木塊i下面有多少個(gè)木塊,所以再添加1個(gè)數(shù)組dis[i]存木塊i到根節(jié)點(diǎn)有多少個(gè)木塊,這樣res = s[i]-dis[i]⑴。dis數(shù)組更新放在尋覓根結(jié)點(diǎn)遞歸的后面,由于要先更新父親的再更新自己的。

#include <stdio.h> const int N = 30005; char str[5]; int p, pa[N], s[N], dis[N]; int get_parent(int x) { if (x != pa[x]) { int f = pa[x]; pa[x] = get_parent(pa[x]); dis[x] += dis[f]; } return pa[x]; } int main() { int t; for (int i = 0; i <= N; i++) { pa[i] = i; s[i] = 1; dis[i] = 0; } scanf("%d", &t); while (t--) { scanf("%s", str); if (str[0] == 'M') { int a, b; scanf("%d%d", &a, &b); int px = get_parent(a); int py = get_parent(b); pa[py] = px; dis[py] = s[px]; s[px] += s[py]; } else { int a; scanf("%d", &a); int px = get_parent(a); printf("%d ", s[px] - dis[a] - 1); } } return 0; }
生活不易,碼農(nóng)辛苦
如果您覺(jué)得本網(wǎng)站對(duì)您的學(xué)習(xí)有所幫助,可以手機(jī)掃描二維碼進(jìn)行捐贈(zèng)
程序員人生
------分隔線----------------------------
分享到:
------分隔線----------------------------
關(guān)閉
程序員人生
主站蜘蛛池模板: 特级黄色淫片 | 福利射| 国产妖精视频 | 一区二区中文字幕在线观看 | 亚洲一级高清在线中文字幕 | www.日本在线播放 | 亚洲精品成人久久 | 一区二区三区四区免费视频 | 久久免费视频一区 | 欧美成人18性| 久久99精品久久久久久三级 | 国产福利在线观看永久免费 | 久久精品国产亚洲片 | 在线免费福利 | 免费一级毛片免费播放 | 国产女人的一级毛片视频 | 国产福利一区二区精品视频 | 欧美黑人xxxx性高清版 | 成人午夜大片免费视频77777 | 国产免费一区不卡在线 | poronovideos巴西极品 | 亚洲国产日韩欧美一区二区三区 | 日韩一级在线观看 | 日本午夜理伦三级在线观看 | 亚洲最大的黄色网 | 黄色www.| 国产高清一区 | 亚洲精品久久久成人 | 中文字幕第一页亚洲 | 欧美午夜精品一区二区三区 | 久草在线网址 | 69视频在线看| 亚洲综合精品一区 | 精品国产免费人成在线观看 | 欧美黑人巨大videos免费 | 日本中文在线播放 | 天堂精品 | 亚洲图片一区二区 | fxxxx性欧美高清 | 国产亚洲成归v人片在线观看 | 97婷婷色 |