Cactus問題總結

2021-10-24 09:07:46 字數 1107 閱讀 9858

參考資料:2023年資訊學國家集訓隊作業

有關仙人掌的問題

1.定義:若為有向圖,要求:是乙個強聯通圖,任意乙個邊只屬於乙個環;若為無向圖,要求:是乙個連通圖,任意一條邊,至多屬於乙個環

uva10510

給定乙個有向圖,判斷它是否是乙個有向cactus。

可以進行類似tarjan的操作,記錄下每個結點的父親結點,如果遇到乙個結點之前遍歷過了,那麼就把環上的結點都+1(注意當前結點不算,因為多個環可以連在乙個結點上),然後如果有乙個結點超過了2,就肯定不是仙人掌圖了

**

#includeusing namespace std;

const int maxn=10005;

int dfn[maxn],low[maxn],fa[maxn],cnt[maxn];

int t,n,m,times,col_cnt;

vector g[maxn];

bool find(int u,int v)

return true;

}bool dfs(int u)

return true;

}bool check(int x)

e[maxm<<1];

struct gjd

gjd operator =(int x)

gjd operator *(const gjd&x)

return ans.len=maxlen,ans;

} void print()

}ans;

void add(int x,int y)

void calc(int st,int en)

gjd tmp;

tmp=(dep[en]-dep[st]+2);

ans=ans*tmp;

}void tarjan(int x)

else low[x]=min(low[x],dfn[to]);

} for(int i=head[x];i;i=e[i].nxt) }

int main()

} tarjan(1);

if(cnt!=n)

ans.print();

return 0;

}

Cactus詳細講解

cactus建議一年以上有經驗的人玩,剛入門mvc,不了解下列元件請先自行學習,切勿好高騖遠。connectionstrings節點裡面sqltype是用來標識使用的資料來源,預設是sqlite 本文提到的配置嚴格區分大小寫 這個名字與autofac裡的配置有關,現在你可以f5執行了 選debug模...

HDU 3594 Cactus(仙人掌問題)

題意 乙個有向圖,判斷是否強連通和每條邊只在乙個環中。思路 仙人掌問題。用tarjan演算法判斷強連通分量的時候,記錄每節結點的父節點。當找到乙個環後,回溯將該環上的所有結點 1,如果有結點出現2次了,則說明不是仙人掌了。1 include2 include3 include4 include5 i...

最近問題總結(部分問題還未總結完)

1 配置檔案中使用 和 分別用 和 否則會報錯。2 和 的區別 使用 在解析成sql語句時會自動新增雙引號,即 中的內容一般表示欄位的值,例如 select from user where user id 如果userid的值是100,那麼解析成的sql為 select from user wher...