E 食物鏈 (拆點並查集)

2022-04-17 02:05:40 字數 1098 閱讀 8583

思路:這題原來做的時候用的是種類並查集,但是我忘了。

現在有乙個更玄學的做法 

因為說白了就是a b c 三個點之間的關係

那麼我就把乙個點拆成三個點(也就是開三倍的空間) 分別代表這個點是a b c

然後這個題就成了模擬???

1 #include 2 #include 3 #include 4 #include 5 #include 6 #include 

7 #include

8 #include 9 #include 10 #include 11 #include

12//

#include

1314

#define ll long long

15#define inf 0x3f3f3f3f

16#define ls nod<<1

17#define rs (nod<<1)+1

18const

int maxn = 3e5 + 10;19

const

double eps = 1e-9;20

intpre[maxn];

2122

void init(int

n) 26}27

28int find(int

x) 33

34void merge(int x,int

y) 38

intmain()

50if (d == 1

) 55

merge(x,y);

56 merge(x+n,y+n);

57 merge(x+2*n,y+2*n);58}

59if (d == 2

) 64 merge(x,y+n);

65 merge(x+n,y+2*n);

66 merge(x+2*n,y);67}

68}69 printf("

%d\n

",ans);

70return0;

71 }

拆點並查集(poj 1182 食物鏈)

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

E 食物鏈(帶權並查集)

e 食物鏈 relation有三種取值 假設節點x的父節點為rootx,即p x parent rootx p i relation 0 表示節點x與其父節點rootx的關係是 同 類 p i relation 1 表示節點x與其父節點rootx的關係是 根吃 i p i relation 2 表示...

並查集 食物鏈

noi2001,水題,但是我調了很久。食物鏈time limit 1000ms memory limit 10000k total submissions 27766 accepted 8066 description 動物王國中有三類動物a,b,c,這三類動物的食物鏈構成了有趣的環形。a吃b,b吃...