已解决
【题解】二分答案+贪心-2
来自网友在路上 168868提问 提问时间:2023-09-21 15:17:59阅读次数: 68
最佳答案 问答题库688位专家为你答疑解惑
文章目录
- 1.准时到达的列车最小时速
- 2.每个小孩最多能分到多少糖果
- 3.完成旅途的最少时间
- 4.礼盒的最大甜蜜度
1.准时到达的列车最小时速
题目链接:准时到达的列车最小时速
代码如下:
class Solution {
public:int minSpeedOnTime(vector<int>& dist, double hour) {int l=1, r = 1e7, n = dist.size();long long hr = llround(hour*100);if(hr <= (n-1) * 100) return -1;auto check = [&](int mid)->bool{long long t = 0;//前n-1段的时间for(int i=0; i<n-1; ++i){t += (dist[i] + mid - 1) / mid;}t *= mid;t += dist[n-1];return (t*100 <= hr*mid);};while(l < r){int mid = l + (r - l) / 2;if(check(mid)) r = mid;else l = mid + 1;}return l;}
};
2.每个小孩最多能分到多少糖果
题目链接:每个小孩最多能分到多少糖果
代码如下:
class Solution {
public:int maximumCandies(vector<int>& candies, long long k) {int l = 1, r = *max_element(candies.begin(), candies.end());int n = candies.size();//检查每个小孩分到i个糖果是否可以满足要求auto check = [&](int mid)->bool{long long res = 0;for(int i=0; i<n; ++i){res += candies[i] / mid;}return res >= k;};while(l <= r){int mid = l + (r-l)/2;if(check(mid)) l = mid+1;else r = mid-1;}return l-1;}
};
3.完成旅途的最少时间
题目链接:完成旅途的最少时间
代码如下:
class Solution {
public:long long minimumTime(vector<int>& time, int totalTrips) {long long l=1;long long r = (long long)totalTrips*(*max_element(time.begin(), time.end()));int n = time.size();auto check = [&](long long k)->bool{long long res = 0;for(int i=0; i<n; ++i){res += k/time[i];}return res >= totalTrips;};while(l < r) {long long mid = l + (r-l) / 2;if(check(mid)) r = mid;else l = mid+1;}return l;}
};
4.礼盒的最大甜蜜度
题目链接:礼盒的最大甜蜜度
代码如下:
class Solution {
public:int maximumTastiness(vector<int>& price, int k) {int n = price.size();sort(price.begin(), price.end());int l=0, r=price[n-1] - price[0];//检查mid的甜蜜度是否可以被满足auto check = [&](int mid)->bool{int cnt = 0, pre = INT_MIN >> 1;for(int p : price){if(p - pre >= mid){cnt++;pre = p;}}return cnt >= k;};while(l < r){int mid = (l+r+1)/2;if(check(mid)) l=mid;else r=mid-1;}return l;}
};
这两篇的二分答案和贪心都是同一类型,可以放在一起做
查看全文
99%的人还看了
相似问题
猜你感兴趣
版权申明
本文"【题解】二分答案+贪心-2":http://eshow365.cn/6-10773-0.html 内容来自互联网,请自行判断内容的正确性。如有侵权请联系我们,立即删除!
- 上一篇: 收款码的费率都是多少
- 下一篇: Mybatis懒加载