hdu 1181 並查集 拓撲排序)

2021-06-22 05:39:41 字數 1171 閱讀 5647

思路:先處理『=『,全部合併為同乙個節點,然後在拓撲排序就可以了。。。

拓撲排序知識:

*如果一次入隊入度為零的點大於1則說明拓撲排序序列不唯一

*如果排序的總個數小於給定的個數,則說明存在迴路

1

#define _crt_secure_no_warnings

2 #include3 #include4 #include5 #include6 #include7

using

namespace

std;

8const

int maxn=10000+10;9

intparent[maxn];

10int

in[maxn];

11 vectorvet[maxn];

12int

n,m,num;

13struct

edge edge[maxn];

1718

19void

initiate()25}

2627

int find(int

x)35

return

s;36}37

38void union(int r1,int

r2)44}45

4647

intmain()58}

59bool flag=true;60

for(int i=0;i)

70if(edge[i].ch=='

>

')else

if(edge[i].ch=='

77}78if(!flag)else86}

87while(!q.empty())

92 num--;

93int u=q.front();

94q.pop();

95for(int i=0;i)

100}

101}

102//

說明存在環,矛盾

103if(num>0

)else

if(!flag)else

108 puts("ok"

);109

}110

}111

return0;

112 }

hdu 拓撲排序 並查集

題目大意 有一些池塘,每乙個池塘都有乙個價值,現在想刪除一些池塘。有如下刪除條件 1 乙個池塘有兩個管道連線的不可以刪除。2 求最後剩下的為奇數環的池塘的價值。先用拓撲排序的思路將兩個一下連線的全刪除 只有用並查集統計數目 includeusing namespace std define ll l...

hdu1811 並查集 拓撲排序

description 自從lele開發了rating系統,他的tetris事業更是如虎添翼,不久他遍把這個遊戲推向了全球。為了更好的符合那些愛好者的喜好,lele又想了乙個新點子 他將製作乙個全球tetris高手排行榜,定時更新,名堂要比富比士富豪榜還響。關於如何排名,這個不用說都知道是根據rat...

hdu1811 並查集 拓撲排序

題目大意 有n個點 編號0 n 1 有m個關係,或者 若這n個點能形成固定的鏈式大小關係,就輸出 ok 如果關係有衝突,則輸出 conflict 如果關係不全,則輸出 uncertain ps 坑點,conflict 優先於 uncertain 所以判斷到 uncertain 條件時,別急著輸出 u...