洛谷2017 暈牛Dizzy Cows(拓撲排序)

2021-08-29 07:29:36 字數 565 閱讀 5319

這道題為什麼想到拓撲排序?因為最後要求判斷無向邊方向使圖無環,所以就想到啦。

對於已給出的有向邊,我們將u->v視為u所以讀入所有有向邊後拓撲排序一下即可,詢問無向邊時如果u比v小,就u->v,否則v->u。

#includeusing namespace std;

const int maxn=1e5+10;

const int maxm=1e6+10;

int n,m1,m2,cnt,sum;

int head[maxn];

int nxt[maxm],to[maxm],order[maxn];

int du[maxn];

queueq;

void add(int x,int y)

int main()

for(int i=1;i<=n;++i)

if(!du[i])

q.push(i);

while(!q.empty()) }

for(int i=1;i<=m2;++i)

return 0;

}

洛谷1522 牛的旅行

洛谷1522 牛的旅行 題目描述 農民 john的農場裡有很多牧區。有的路徑連線一些特定的牧區。一片所有連通的牧區稱為乙個牧場。但是就目前而言,你能看到至少有兩個牧區通過任何路徑都不連通。這樣,farmer john就有多個牧場了。john想在牧場裡新增一條路徑 注意,恰好一條 對這條路徑有以下限制...

洛谷 牛數 野題

題目描述description 我們下面來研究整數性質,我們知道質數只有 1和自身兩個因子,合數至少 有除了 1和自身的其他因子,我們也知道 貓老大數 是只能分解成兩個質數乘 積形式的數,那麼能分解成兩個合數的數呢?我們稱之為 牛數 下面程式設計判 斷整數是否為 牛數 輸入輸出格式input out...

洛谷3761,TJOI2017城市

這道題一開始在想可以列舉每個點對,嘗試刪除其間的邊,因為有o n2 個點對,所以要o 1 更新答案 後來發現,因為是樹,所以只有o n 個點對是有用的 這麼顯然的結論一開始沒發現,看來還是我太弱了 然後就可以每次o n 判斷 首先定義在一棵樹 x 中,對於點y,f x,y 等於以 y 為根的有根樹,...