POJ 1182 食物鏈 解題報告 (種類並查集)

2021-08-21 16:00:48 字數 527 閱讀 7306

傳送門:

我的題解和大牛們的不一樣啊首先說,我每個權值代表的方向基本和網上的題解都是相反的,比如 權值1 代表 x 吃 他的父親節點,權值2 代表 x 被 他的父親節點吃。其實這樣的話就是相當於我建的樹和他們的是相反的。

如果wa的話,可以單步執行一下union函式看一看,有可能在路徑壓縮的時候沒有成功更新權值。

歡迎提問~~~共同交流嘛。

#include#include#includeusing namespace std;

const int maxn = 50010;

int fa[maxn], relation[maxn];

void init(int n)

}int find(int x)

}bool union(int x, int y, int d)

return false;

}int main()

}} printf("%d\n",ans);

return 0;

}

POJ 1182 食物鏈 解題報告

食物鏈 time limit 1000ms memory limit 10000k total submissions 70529 accepted 20875 description 動物王國中有三類動物a,b,c,這三類動物的食物鏈構成了有趣的環形。a吃b,b吃c,c吃a。現有n個動物,以1 n...

POJ 1182 食物鏈 Union Find題解

union find就是所謂的並查集。本題做的很無語,最後發現居然是輸入搞錯,一直wa。不能使用迴圈接受輸入,否則是wa的,氣死人,浪費那麼多時間就為了這個。難點 1 構建關係樹 2 構建公式 3 快速更新公式 要抽象思維出什麼對應什麼的關係和上面是逆關係,就是利用0,1,2構建出父子節點之間的關係...

Poj 1182 食物鏈 (兩種思路)

思路 對每個節點維護其到根節點的偏移量 偏移量代表種類關係 par x 表示x的根節點,rel x 表示x與根節點的偏移量。rel x 0表示x與根節點為同類,1表示根節點吃x,2代表x吃根節點。同類 不同類時,如何判斷關係是否矛盾以及如何合併兩頂點所在的集合。include include inc...