《演算法藝術與資訊學競賽》之 並查集 團夥

2021-08-13 22:51:21 字數 562 閱讀 5063

題目描述

在某城市裡住著n個人,任何兩個認識的人不是朋友就是敵人,而且滿足:

1、我朋友的朋友是我的朋友;

2、我敵人的敵人是我的朋友;

所有是朋友的人組成乙個團夥。告訴你關於這n個人的m條資訊,即某兩個人是朋友,或者某兩個人是敵人,請你編寫乙個程式,計算出這個城市最多可能有多少個團夥?

輸入 第1行為n和m,1

#include

using

namespace

std;

int n,m,a,b,fa[1001],ans;

int e[100001];//儲存每乙個節點的父親

bool vis[100001];//訪問陣列

int p;

int find(int x)

void merge(int x,int y)

int main()

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

if(!vis[find(i)])

printf("%d",ans);

}

《演算法藝術與資訊學競賽》之 堆 積水

前幾天機房斷網沒時間更新。這地道歉順便祝大家新年快樂。非常遺憾,這道題在網上沒有找到,題目較為簡單所以我直接說思路了。題目大意是給定乙個平面,每乙個點都有乙個高度,一場雨後,問那些格仔有積水,並求出總的積水量。邊界上的格仔是不會積水的 這道題非常的基礎,有些地方想清楚就非常簡單了,根據生活常識,我們...

《演算法藝術與資訊學競賽》之 堆 可憐的奶牛

這道題網上沒有找到,暫時之說說思路。題目大意是 有n頭奶牛 n 100 000 每只奶牛每天都有乙個產奶量。每只牛的產奶量呈現出週期性變化,每只牛週期都不超過10,每天產奶量不會超過200 每天產奶量最低的一直奶牛將會被殺了吃肉,但是如果產奶量最少的有多隻,那麼就不會有奶牛被殺。需要求的是最後有多少...

割點和橋演算法 摘自《演算法藝術與資訊學競賽》

最近在做圓桌騎士的問題,在乙個無向圖中求出雙連通分量,判斷各雙連通分量中是否含有奇圈,求出不能構成奇圈的節點的個數。思路大概明確了,但是寫的時候老是出現問題,所以專題又看了一下雙連通分量的演算法,看來看去,還是劉汝佳的最經典,索性直接手打出來,方便以後再看 void dfs 節點編號k,k的父親節點...