poj 3104 二分答案

2021-07-04 05:42:00 字數 808 閱讀 8320

題意:

n件濕度為num的衣服,每秒鐘自己可以蒸發掉1個濕度。

然而如果使用了暖爐,每秒可以燒掉k個濕度,但不計算蒸發了。

現在問這麼多的衣服,怎麼燒事件最短。

解析:二分答案咯。

**:

#include #include #include #include #include #include #include #include #include #include #include #include #define ll long long

using namespace std;

const int inf = 0x3f3f3f3f;

const double eps = 1e-8;

const double pi = acos(-1.0);

const double ee = exp(1.0);

const int maxn = 100000 + 10;

ll num[maxn];

ll k;

int n;

bool ok(ll x)

}return cnt <= x;

}int main()

scanf("%lld", &k);

if (k == 1)

ll lo = 1, hi = maxv;

ll ans;

while (lo <= hi)

else

lo = mi + 1;

}printf("%lld\n", ans);

}return 0;

}

poj 3104 二分想法

給你n個數表示含水量,給你乙個k表示每分鐘洗衣機能脫水k滴 每分鐘沒有在洗衣機的衣服自動脫水一滴,求把全部水託幹最小時間,怎麼都沒想到居然是二分 好吧,二分列舉最小時間mid,然後求實際所需時間再 經行判斷,如果列舉時間為mid,對每件衣服num i 如果num i 小於mid 很顯然直接自然幹最好...

poj3104(二分判斷可行性)

translation 要使得一排衣服晾乾,自然風乾每分鐘蒸發1單位的水分。用烘乾機的話每分鐘蒸發k單位的水分。求把所有衣物晾乾的話至少需要多長時間?solution 二分查詢最小可行解 首先二分列舉最短的時間mid。然後是判斷該時間是否可行。可以發現對於水分單位量小於mid的衣服。只需要待其自然風...

POJ3104 Drying(二分答案)

題目大意 有n件衣服,每件衣服含a滴水 有一台每分鐘可以烘乾k滴水的機器,每次可以讓一件衣服使用 衣服每分鐘蒸發一滴水,輸出烘乾所有的衣服的最少時間 二分列舉最少時間mid 遍歷衣服,若某件衣服含水量大於mid 算出烘乾所用總時間,公式為 a i mid k 1 再判斷時間與mid的大小 注意k 1...