三分法

每次取两个点,把较劣的一方移动。

我的写法:

 

for(int z = 1; z <= 50; z++) {
    double mid = (l + r) / 2;
    double ml = mid - (r - l) / 6, mr = mid + (r - l) / 6;
    double vl = cal(ml), vr = cal(mr);
    ans = std::min(ans, std::min(vl, vr));
    if(vl < vr) r = mr;
    else l = ml;
}

 

有个经典题是[SCOI2010]传送带

 

posted @ 2019-02-21 21:29  huyufeifei  阅读(139)  评论(0编辑  收藏  举报
试着放一个广告栏(虽然没有一分钱广告费)

『Flyable Heart 応援中!』 HHG 高苗京铃 闪十PSS 双六 電動伝奇堂 章鱼罐头制作组 はきか 祝姬 星降夜