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

國內最全IT社區平臺 聯系我們 | 收藏本站
阿里云優惠2
您當前位置:首頁 > php開源 > php教程 > hdu 5606 tree(并查集)

hdu 5606 tree(并查集)

來源:程序員人生   發布時間:2016-07-04 16:07:20 閱讀次數:2433次

題目鏈接:http://acm.hdu.edu.cn/showproblem.php?pid=5606

tree

Time Limit: 2000/1000 MS (Java/Others)    Memory Limit: 65536/65536 K (Java/Others)
Total Submission(s): 1183    Accepted Submission(s): 527


Problem Description
There is a tree(the tree is a connected graph which contains n points and n?1 edges),the points are labeled from 1 to n,which edge has a weight from 0 to 1,for every point i[1,n],you should find the number of the points which are closest to it,the clostest points can contain i itself.
 

Input
the first line contains a number T,means T test cases.

for each test case,the first line is a nubmer n,means the number of the points,next n⑴ lines,each line contains three numbers u,v,w,which shows an edge and its weight.

T50,n105,u,v[1,n],w[0,1]
 

Output
for each test case,you need to print the answer to each point.

in consideration of the large output,imagine ansi is the answer to point i,you only need to output,ans1 xor ans2 xor ans3.. ansn.
 

Sample Input
1 3 1 2 0 2 3 1
 

Sample Output
1 in the sample. $ans_1=2$ $ans_2=2$ $ans_3=1$ $2~xor~2~xor~1=1$,so you need to output 1.
 

Source
BestCoder Round #68 (div.2)


題目大意:

有1個樹(n個點,n⑴條邊的連通圖),有1個樹(n個點, n?1條邊的聯通圖),點標號從1~n,樹的邊權是0或1.求離每一個點最近的點個數(包括自己).


解題思路:1開始想著只要判斷w為0就行了,w為0的時候直接給連通的這兩個點都加1處理,最后再加上本身這個點就是答案了!!但是這個是毛病的!!!wrong answer!!!
下面解釋1下:舉1個例子:
    1
 4
 1 2 0
 2 3 0
 1 4 0如果是這組數據的話,我們需要怎樣處理呢?如果依照上陳述法計算的話,對1這個點,與其最近的點只有兩個,但實際上有3個!!所以就不可以采取上述方法,所以采取并查集的方法,只要w=0就給連通起來。在計算個數便可。

詳見代碼。
#include <iostream> #include <cstdio> #include <cstring> using namespace std; int num[100010]; int fa[100010]; int Find(int x) { if (x!=fa[x]) { return fa[x]=Find(fa[x]); } return x; } void Unit(int x,int y) { x=Find(x); y=Find(y); if (x!=y) { fa[x]=y; num[y]+=num[x];//把兩個點連通,同時也要加上子節點在這之前就已連通的點 } } int main() { int t; scanf("%d",&t); while (t--) { int n; scanf("%d",&n); for (int i=1; i<=n; i++) fa[i]=i,num[i]=1; int u,v,w; int s=0; for (int i=1; i<=n⑴; i++) { scanf("%d%d%d",&u,&v,&w); if (w==0) { Unit(u,v); } } for (int i=1; i<=n; i++) { if (fa[i]==i&&num[i]%2==1) s=num[i]^s; } printf ("%d\n",s); } return 0; }



生活不易,碼農辛苦
如果您覺得本網站對您的學習有所幫助,可以手機掃描二維碼進行捐贈
程序員人生
------分隔線----------------------------
分享到:
------分隔線----------------------------
關閉
程序員人生
主站蜘蛛池模板: 性黑人| 黄色淫片 | 日韩欧美亚洲另类 | 亚洲在线视频免费 | 三浦惠理子中文字幕在线一区二区 | 日本在线视频一区二区三区 | 五月天综合网 | 久久久午夜精品 | 亚洲春色综合另类网蜜桃 | 日韩欧国产精品一区综合无码 | 拍拍拍免费高清在线观看视频 | 国产美女一区精品福利视频 | 国产在线乱码在线视频 | 波多野结衣在线视频免费观看 | 黄色片网站在线播放 | 亚洲综合图片小说 | 激情小视频在线观看 | 欧美精品一区二区三区久久 | 欧美一级毛片免费大片 | 免费看黄网站大全 | 国产成年网站v片在线观看 国产成人 免费观看 | 国产高清中文字幕 | 国产在线成人一区二区 | 青青草原在线视频免费观看 | 成年人精品视频 | 热灸灸这里只有精品 | 日韩看片网站 | 国产老妇一性一交一乱 | 婷婷在线免费视频 | 免费看羞羞 | 91精品久久久久久久久久小网站 | 国内精品一级毛片免费看 | 午夜视频免费在线观看 | 天堂男人www | 波多野结衣在线免费观看视频 | 国产一二三四区中 | 欧美日韩国产综合在线小说 | 国产毛片毛片精品天天看 | 成人精品视频一区二区三区 | h在线免费| 国产最新进精品视频 |