bitsit维护的flyod

来源:互联网 发布:梦幻西游高级宝石算法 编辑:程序博客网 时间:2024/06/06 12:45

用flyod求传递闭包时只需逻辑与,所以用bitsit来维护的话可以在n^2内完成。基本上5000左右的复杂度都没有问题。

void floyd(){    int i,j,k;    for(i=1;i<=n;i++)    {        for(j=1;j<=n;j++)        {            if(edge[j][i]) edge[j]|=edge[i];        }    }}
0 0
原创粉丝点击