re: 2012亞洲區長春站[未登錄] lenohoo 2012-10-15 23:10
我也是用并查集做的,頂樓上,哈哈哈哈哈哈哈哈哈哈哈哈哈哈哈哈哈哈哈哈哈哈哈哈哈哈哈哈哈哈哈哈哈哈哈哈哈哈哈哈哈哈哈哈哈哈哈哈哈哈哈哈哈哈哈哈哈哈哈哈哈哈哈哈哈哈哈哈哈哈哈哈哈哈哈哈哈哈哈哈哈哈哈哈哈哈哈哈哈哈哈哈哈哈哈哈哈哈哈哈哈哈哈哈哈哈哈哈哈哈哈哈哈哈哈哈哈哈哈哈哈哈哈哈哈哈哈哈哈哈哈哈哈哈哈哈哈哈哈哈哈哈哈哈哈哈哈哈哈哈哈哈哈哈哈哈哈哈哈哈哈哈哈哈哈哈哈哈哈哈哈哈哈哈哈哈哈哈哈哈哈哈哈哈哈哈哈哈哈哈哈哈哈哈哈哈哈哈哈哈哈哈哈哈哈哈哈哈哈哈哈哈哈哈哈哈哈哈哈哈哈哈哈哈哈哈哈哈哈哈哈哈哈哈哈哈哈哈哈哈哈哈哈哈哈哈哈哈哈哈哈哈哈哈哈哈哈哈哈哈哈哈哈哈哈哈哈哈哈哈哈哈哈哈哈哈哈哈哈哈哈哈哈哈哈哈哈哈哈哈哈哈哈哈哈哈哈哈哈哈哈哈哈哈哈哈哈哈哈哈哈哈哈哈哈哈哈哈哈哈哈哈哈哈哈哈哈哈哈哈哈哈哈哈哈哈哈哈哈哈哈哈哈哈哈哈哈哈哈哈哈哈哈哈哈哈哈哈哈哈哈哈哈哈哈哈哈哈哈哈哈哈哈哈哈!!!!!!!!!!!
飛哥,你弱爆了,還是有人用并查集做的嘛,哈哈哈哈哈哈哈哈哈哈哈哈哈哈哈哈哈哈哈哈哈哈哈哈哈!!!!!!!!!!!!!!!!!
re: poj 1182 并查集 lenohoo 2012-06-06 16:14
@西月弦
不是呀,根據上式,a吃b,b吃c,就直接能夠推出c吃a了啊
re: poj 1182 并查集 lenohoo 2012-06-05 21:40
@西月弦
因為a吃b,所以a+n和b在同一個集合,b吃c,b+n和c在同一個集合==>
a+2n和b+n和c在同一個集合,也就是a和c+n同一個集合,直接說明a被c吃了呀,不是嗎?
re: poj 1182 并查集 lenohoo 2012-06-04 23:26
我的想法是對于一個編號為i的動物,其同時擁有兩個元素i+n,i+2*n;
i+n 屬于 吃 i 的集合,i+2*n屬于被i吃 的 集合 ;
每次輸入命令 , i , j ,
當命令為1時,如果出現find(i+n)==find(j) || find(i+2*n)==find(j)的情況,就出錯;不然Union(i,j) , Union(i+n,j+n) , Union(i+2*n,j+2*n) ;
當命令為2時,如果出現find(i+2*n)==find(j) || find(i)==find(j)的情況,就出錯;不然Union(i+n,j) , Union(i+2*n,j+n) , Union(i,j+2*n) ;
每次判斷正誤,但是錯了,請問 是算法有問題嗎?
算法的精髓,不是過不過的問題;字典樹是個很神奇的東西的啊