題意:
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...