LOJ 10103(求刪去割點後最多的連通分量)

2022-07-25 18:48:09 字數 820 閱讀 6168

思路:(1)這道題的圖可能不連通,所以需要多次tarjan;

(2)設定cut[i]=x陣列表示第i個節點被刪除後右多少個子圖(這個只是在乙個圖中),如果是根節點就要-1,因為根節點都滿足

num[v]==low[u].

(3)mx的初始值設為最小值(-9999999),因為有可能cur[i]=-1,存在根節點所在的圖是雙聯通圖。

參考文章:傳送門

#include#include

#include

#include

#include

using

namespace

std;

const

int maxn = 100100

;int

num[maxn],low[maxn],cut[maxn],tim;

vector

vc[maxn];

void

init()

void tarjan(int u,int

pre)

else

if(pre!=v) low[u]=min(low[u],num[v]);

}}int main(void

)

int cnt=0,mx=-99999999

;

for(i=0;i)

if(!num[i])

for(i=0;imax(mx,cut[i]);

printf(

"%d\n

",mx+cnt);

}return0;

}

view code

刪邊求概率

wnjxyk和dididi正在玩遊戲。dididi在紙上繪製乙個有向圖g,該圖包含n個點,m個有向邊且無迴圈。wnjxyk從點1開始。每回合,wnjxyk將隨機選擇從當前點開始的有向邊之一,其可能性均等,然後從該邊轉到下乙個點。遊戲將繼續,直到沒有這種優勢為止。dididi將把寶藏放在點n上,如果w...

刪選法求素數

今天跟隨周老師學到了乙個新的求素數的方法,按照老師的程式設計方法,比較簡單的就求得了素數,以下 中,有乙個方法是自己寫的,乙個是按照老師的思路來的 include stdafx.h include define nrange 40000 找出40000以內的素數 篩法 4203 void findp...

loj 篩法求幸運數

問題描述 幸運數是波蘭數學家烏拉姆命名的。它採用與生成素數類似的 篩法 生成 首先從1開始寫出自然數1,2,3,4,5,6,1 就是第乙個幸運數。我們從2這個數開始。把所有序號能被2整除的項刪除,變為 1 3 5 7 9 把它們縮緊,重新記序,為 1 3 5 7 9 這時,3為第2個幸運數,然後把所...