最大密集子图(01分数规划+二分+最小割)POJ3155
题意:给出一副连通图,求出一个子图令g=sigma(E)/sigma(V);
h[g]=sigma(E)-g*sigma(V);设G是最优值
则当h[g]>0:g<G
h[g]<0,g>G;
h[g]=0:g=G;
h[g]=(U*n-Cut[S,T])/2;
当最小割Cut[S,T]最小时,h[g]最大
分析:建图方式:对于<u,v>,建立正向边和反向边容量为1
对于每个点u建立s->u容量为U,建立u->t容量为U+2*g-du(du是每个点的度)
公式推导详见:最小割模型在信息学竞赛中的应用
当h[g]>eps时增大g,否则减小g,知道h[g]=eps