13780 砍树 二分答案

news/2024/9/30 17:17:30

解决思路

 
  • 二分查找:使用二分查找来确定伐木机锯片的最大高度 H。
 
  • 检查函数:定义一个检查函数 check(mid),判断在高度 mid 时,能否得到至少 M 米的木材。
 
  • 更新边界:根据检查函数的结果,更新二分查找的边界,直到找到最大的 H。
    #include <bits/stdc++.h>
    #define ll long long
    using namespace std;
    const int N = 1e6 + 10;
    ll n, m, a[N];// 检查在高度 mid 时,能否得到至少 m 米的木材
    bool check(ll mid) {ll sum = 0;for (int i = 1; i <= n; i++) {if (a[i] > mid) {sum += a[i] - mid;}}return sum >= m;
    }int main() {// 读取树木的数量和需要的木材总长度cin >> n >> m;ll l = 0, r = 0, ans = 0;// 读取每棵树的高度,并找到最高的树for (int i = 1; i <= n; i++) {cin >> a[i];r = max(r, a[i]);}// 二分查找确定伐木机锯片的最大高度while (l <= r) {ll mid = (l + r) / 2;if (check(mid)) {ans = mid; // 更新答案l = mid + 1; // 尝试更高的高度} else {r = mid - 1; // 尝试更低的高度
            }}// 输出锯片的最高高度cout << ans;return 0;
    }

     

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.ryyt.cn/news/66566.html

如若内容造成侵权/违法违规/事实不符,请联系我们进行投诉反馈,一经查实,立即删除!

相关文章

高级语言程序设计第二个作业

属于课程:https://edu.cnblogs.com/campus/fzu/2024C/homework/13282 要求在:https://edu.cnblogs.com/campus/fzu/2024C/homework/13282 学号:102400117 姓名:廖逸轩以上是习题。这几个顺序是随机的,因为我最后编序号忘了哪个是哪个了...... 问题:printf里面输入引号里面…

高级语言程序设计课程第二次个人作业

这个作业属于哪个课程:https://edu.cnblogs.com/campus/fzu/2024C/ 这个作业要求在哪里:https://edu.cnblogs.com/campus/fzu/2024C/homework/13282 学号:102400227 姓名:谭培![](h ttps://img2024.cnblogs.com/blog/3525132/202409/3525132-20240930170319149-356045001.p…

vue2实现字体修改(全局/局部字体引入修改)/添加文字渐变色样式

1.创建一个全局 CSS 文件 创建一个单独的 CSS 文件,例如 fonts.css,然后在 main.js中引入。 fonts.css 文件内容: @font-face {font-family: youshebiaotihei;src: url(../../fonts/youshebiaotihei.ttf) format(truetype); /* 引用字体,但非全局使用 */font-weight: norma…

async/await 函数到底要不要加 try catch ?

前言 写异步函数的时候,promise 和 async 两种方案都非常常见,甚至同一个项目里,不同的开发人员都使用不同的习惯, 不过关于两者的比较不是本文关注的重点,只总结为一句话:“async 是异步编程的终极解决方案”。 当使用 async 函数的时候,很多文章都说建议用 try catch 来…

UOS 1070/Deepin 23环境下安装Master PDF Editor 5.8.35

UOS 1070/Deepin 23环境下安装Master PDF Editor 5.8.35在UOS 1070环境下,有福昕PDF编辑器可以使用,但是升级到Deepin v23之后,福昕编辑器就无法安装了,需要换工具。 比较好用的就是Master PDF Editor,安装注册也非常简单,现在写到这里,作为记录。# 目前最方便安装的是m…

深度学习系列之1----直观解释Transformer

Abstract 这个系列主要用来记录我自己这种的AI小白的学习之路,通过将所学所知总结下来,记录下来。之前总喜欢记录在笔记本上,或者ipad上,或者PC端的Typora上,但总是很难回头检索到一些系统的知识,因此我觉得博客是一个不错的选择,因为时不时我就会登录网站翻看过去的痕迹…

chrome-截图录屏插件-Awesome Screenshot

💖简介 Awesome Screenshot 截图录屏是一款浏览器扩展程序,它可以帮助用户进行网页截图、编辑图片以及录制屏幕视频 📖版本 4.4.22 🌟功能截图:可以截取整个网页(即使是需要滚动才能看到的部分)、可见部分或者选定区域。 编辑:截图后可以直接在浏览器中对图片进行编…