一些模板

图论
void dfs(int x)
{
    dfn[x]=++cnt;
    for(int i=head[x];i;i=Next[i])
    {
        int y=ver[i];
        if(y==pre[x])continue;
        if(dfn[y])
        {
            if(dfn[y]<dfn[x])continue;
            ans[++kk]=y;
            for(;y!=x;y=pre[y])ans[++kk]=pre[y];
        }
        else pre[y]=x,dfs(y);
    }
}
dfs找环
void chuan(){
    for(ll k=1;k<=n;k++)
        for(ll i=1;i<=n;i++)
            if(bit[i][k])
                bit[i]|=bit[k];
}
bitset优化传递闭包

.

原文地址:https://www.cnblogs.com/znsbc-13/p/11830775.html