poj 2456 二分法 最大化最小值

2021-12-29 22:34:09 字數 538 閱讀 7386

重新練習下二分法,發現還是手速不夠

從這道題學到一下幾點:

1、線性分幾段的方法,看我的judge()**;

2、二分的while()最終列印的是down,而不是mid(我**裡寫的是ans),或者up,

這麼想:跳出迴圈的時候,假設while裡的判斷,judge(ans)==1,那麼down是正確解,up不是

judge(ans)==0,那麼ans跟up都不是正確解

綜上,列印down才能輸出正確解

3、調了好一會二才發現的bug:judge函式裡,if(cnt

貼**:

#include

#include

#include

#include

using namespace std;

const int maxn = 100000+10;

int n,c;

int dis[maxn];

int judge(int s)

printf(%d

,down);//??ans?}}

poj2456(二分最大化最小值,貪心)

translation 有n間牛舍在一條直線上面,要住進c頭牛。求每頭牛之間的最大的最小距離能是多少?solution 二分最大化最小值,貪心 首先二分列舉最優解,其次就是判定該次最優解是否可行。這一步驟可以按照貪心法來判定。最後逐步縮小範圍。note date 2016.11.1 include ...

最大化最小值問題(二分法)

二分中非常典型的應用就是 最小化最大值問題 和 最大化最小值問題 本篇結合三道例題來說明最小化最大值問題 會給你一些可取的資料範圍 這個範圍有時候需要自己發現,不過一般來說都很明顯 然後在這些範圍中找到符合要求的數值 通過函式判斷 當然一般會有很多值都是符合要求的,用二分找出那個最小的答案 就是符合...

最大化平均值 二分法

n個物品重量價值分別為wi,vi 取k個值使得單位重量的價值最大。輸入 n k 接下來n行表示重量 接下來n行表示價值 分析 貪心是錯的。使的vi wi最大 假設單位重量的最大價值為x。則vi wi x 即vi wi x 0 所以按照上面公式排序二分求解。include include includ...