P3199 [HNOI2009]最小圈

01分数规划+判负环

新技巧:dfs判负环,好像在仅要判负环时由于bfs?

bool spfa(int x){
    v[x]=1;
    for(int i=head[x];i;i=nxt[i]){
        int y=ver[i];
        if(dis[y]<dis[x]+edge[i]){
            dis[y]=dis[x]+edge[i];
            if(v[y]||spfa(y)) return 1;
        }
    }
    vis[x]=0;
    return 0;
}
posted @ 2019-10-15 14:44  天才美少女雪乃  阅读(100)  评论(0编辑  收藏  举报