最大值最小化 最小值最大化

大型翻车现场  已修复

等于都是l的,

最小值最大化的中间值mid = (l + r + 1)/ 2

最大值最小化的中间值 mid = (l + r) / 2

最小值最大化

while(l < r)
{
    int mid = (l + r + 1) / 2;
    build(mid);
    if(Dinic() > r) r = mid - 1;
    else l = mid;
}
cout << r << endl;

最大值最小化

while(l < r)
{
    int mid = (l + r) / 2;
    build(mid);
    if(Dinic() > r) r = mid;
    else l = mid + 1;
}
cout << l << endl;

猜你喜欢

转载自www.cnblogs.com/WTSRUVF/p/10718085.html