蓝桥杯上岸每日N题第一期(二)!!!

这篇具有很好参考价值的文章主要介绍了蓝桥杯上岸每日N题第一期(二)!!!。希望对大家有所帮助。如果存在错误或未考虑完全的地方,请大家不吝赐教,您也可以点击"举报违法"按钮提交疑问。

大家好 我是寸铁💪

考前需要刷大量真题,大家一起相互监督,每日做N题,一起上岸吧✌️ ~

第一期(二)

题目:分巧克力 ✨

考点:二分 💪

该题目类型会同时收录在相关复习专题,供大家学习

收录👇

蓝桥杯上岸必背!!!(持续更新中~)

不清楚蓝桥杯考什么的点点下方👇

考点秘籍

想背纯享模版的伙伴们点点下方👇

蓝桥杯省一你一定不能错过的模板大全(第一期)

蓝桥杯省一你一定不能错过的模板大全(第二期)

想背注释模版的伙伴们点点下方👇

蓝桥杯必背第一期

蓝桥杯必背第二期

往期精彩回顾

蓝桥杯上岸每日N题 第一期(一)!!!

操作系统期末题库 第九期(完结)

LeetCode Hot100 刷题(第三期)

idea创建SpringBoot项目报错解决方案

数据库SQL语句(期末冲刺)

想看JavaB组填空题的伙伴们点点下方 👇

填空题

二分

二分出答案!

怎么二分出答案?

这道题我们可以得出的是二分的结果是满足k块巧克力的最大边长是多少?
题目要求:
1.形状是正方形,边长是整数
2.大小相同
即要求边长均为x
我们就可以确保得到边长一致的正方形
大小相同即分出的块数为整数,向下取整!!!
得到能够凑出的整块巧克力
如果分出的块数有小数的大小肯定不同。

长、宽分别为H、W
块数:(H/x)*(W/x)

为什么是这么多块?

相同的x
我们可以发现长为H
可以被切成H/x
我们可以发现宽为W
可以被切成W/x
这么多块的组合起来为(H/x)*(W/x)这么多块

那我们推出这个公式后,我们怎么利用二分来处理这道题?

我们知道二分一般情况下需要具有二段性/单调性
即确定一个mid后,两边是否具有二段性/单调性
假设k=(H/x)*(W/x)
我们根据公式发现(H/x)*(W/x)H、W常量
x变量,且随着x增大,k值是越来越小的
而随着x减小,k值是越来越大的
中间必定存在k使得x最大
这即是我们需要的二段性。
画出图形应该是单调递减的曲线
x是我们要二分的答案

更进一步我们可以发现
假设我们在x的条件下刚好二分出k块的巧克力。
由上证明,比x小的也一定满足可以条件,可以分出大于k块巧克力。
我们让l右移让他往右边去找,k块巧克力下边长尽可能的大
l=mid;
x大的一定不满足条件不足以分出k块巧克力
我们r左移让他往左边去找,k块巧克力下边长尽可能的大
r=mid-1;

二分出的k块巧克力下的x必定是满足k块的最大边长!!!

Accode

import java.util.*;
public class Main{
    static int N=100010;
    static int cake[][]=new int[N][2];
    //输入是N行2列
    //不要开N行N列用不到的空间会MLE
    static int n,m,k;
    public static void main(String []args){
        Scanner sc=new Scanner(System.in);
         n=sc.nextInt();
         k=sc.nextInt();        
        for(int i=0;i<n;i++){
            cake[i][0]=sc.nextInt();
            cake[i][1]=sc.nextInt();
        }
        //答案确保所得至少1*1
        //边长最小为1
        //二分的左边界为1
        //右边界为最大边长1e5
        int l=1;
        int r=(int)1e5;
        while(l<r){
            int mid=l+r+1>>1;
            if(check(mid))l=mid;
            //mid下的块>=k则l右移l=mid
            //注意mid是满足>=k所以是l=mid
            
            //与之对应的是r=mid-1
            //因为此时check(mid)<k
            //所以需要往左移且mid不满足条件
            //所以r=mid-1
            else r=mid-1;
        }
        System.out.println(l);
    }
    public static boolean check(int m){
        int res=0;
        for(int i=0;i<n;i++){
            res+=(cake[i][0]/m)*(cake[i][1]/m);
        //统计能分出的块数
        }
        //块数>=k说明是需要将边长边大块数减少
        //即l=mid;
        if(res>=k)return true;
        //反之则说明不足k块需要将边长减小块数增大
        //即r=mid-1
        return false;
    }
}

☀️☀️☀️☀️☀️☀️
后续有补充,持续更新中🌋
喜欢的伙伴点点赞,关个注💗文章来源地址https://www.toymoban.com/news/detail-579504.html

到了这里,关于蓝桥杯上岸每日N题第一期(二)!!!的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处: 如若内容造成侵权/违法违规/事实不符,请点击违法举报进行投诉反馈,一经查实,立即删除!

领支付宝红包 赞助服务器费用

相关文章

  • 蓝桥杯上岸每日N题 第八期 (全球变暖)!!!

    其中”上下左右”四个方向上 # 连在一起的一片陆地组成一座岛屿。 具体来说如果一块陆地像素与海洋相邻(上下左右四个相邻像素中有海洋 . ),它就会被淹没。 注:图中有3个岛屿,上下连续区域。 注:题中有一个岛屿全被淹没 观察一下:岛屿中陆地的数量和海洋的数量是

    2024年02月14日
    浏览(60)
  • 蓝桥杯上岸每日N题 第四期(最少刷题数)!!!

    前缀和: 二分 (1)情况1 (2)情况2 对于每一名学生,请你计算他至少还要再刷多少道题,才能使得全班刷题比他多的学生数不超过刷题比他少的学生数。 全班刷题比他多的学生数不超过刷题比他少的学生数。 换句话说:全班刷题比他少的学生数=(大于等于)全班刷题比他多的学

    2024年02月14日
    浏览(54)
  • 蓝桥杯软件类Java语言IDE(Eclipse)安装

    平时都在用idea搞工程类项目,正好报了下学期的蓝桥杯算法比赛,看到官网要求用eclipse编码,之前也参加过ccf-csp的比赛,学校机房用的eclipse,每次去比赛前还要熟悉一下环境,调整一些相关的配置,比如说代码智能提示,快捷键,字体等等各种方便我们比赛时专心编码的一

    2023年04月09日
    浏览(51)
  • 蓝桥杯上岸考点清单 (冲刺版)!!!

    谨记:无论是差分/前缀和,下标均从1开始,防止下标越界 写法1 写法2 步骤: (1)先输入数据 (2)预处理前缀和 (3)求出区域内的数的和 作用:使得区间/区域内的数加上1/C 步骤: (1)输入数据 (2)初始化,先自己插自己 (3)处理询问即差分 差分数组:b[],前缀和数组:a[] (4)再求一遍

    2024年02月13日
    浏览(42)
  • [职场] 会计学专业学什么 #其他#知识分享#职场发展

    会计学专业学什么 会计学专业属于工商管理学科下的一个二级学科,本专业培养具备财务、管理、经济、法律等方面的知识和能力,具有分析和解决财务、金融问题的基本能力,能在企、事业单位及政府部门从事会计实务以及教学、科研方面工作的工商管理学科高级专门人才

    2024年02月20日
    浏览(48)
  • 蓝桥杯刷题第二十五天

    题目描述 你有一张某海域 NxN 像素的照片,\\\".\\\"表示海洋、\\\"#\\\"表示陆地,如下所示: ....... .##.... .##.... ....##. ..####. ...###. ....... 其中\\\"上下左右\\\"四个方向上连在一起的一片陆地组成一座岛屿。例如上图就有 2 座岛屿。 由于全球变暖导致了海面上升,科学家预测未来几十年,岛

    2023年04月09日
    浏览(35)
  • 蓝桥杯刷题第二十三天

    题目描述 小明有一块空地,他将这块空地划分为 n 行 m 列的小块,每行和每列的长度都为 1。 小明选了其中的一些小块空地,种上了草,其他小块仍然保持是空地。 这些草长得很快,每个月,草都会向外长出一些,如果一个小块种了草,则它将向自己的上、下、左、右四小

    2023年04月22日
    浏览(44)
  • 学习平台助力职场发展与提升

    近年来,随着互联网技术的发展, 学习平台 逐渐成为了职场发展和提升的必备工具。学习平台通过提供丰富的课程内容、灵活的学习时间和个性化的学习路径,帮助职场人士更好地提升自己的技能和知识储备,为职场发展打下坚实的基础。 学习平台的优势在于提供了丰富多

    2024年02月11日
    浏览(49)
  • 第十五届蓝桥杯模拟赛(第一期)

    大家好,我是晴天学长,本次分享,制作不易,需要的小伙伴可以点赞关注评论一波哦!后续会继续更新第二期第三期的。💪💪💪 问题描述 请找到一个大于 2022 的最小数,这个数转换成十六进制之后,所有的数位(不含前导 0)都为字母(A 到 F)。 请将这个数的十进制形

    2024年02月04日
    浏览(58)
  • 蓝桥杯第20天(Python)(疯狂刷题第3天)

    1.思维题/杂题:数学公式,分析题意,找规律 2.BFS/DFS:广搜(递归实现),深搜(deque实现) 3.简单数论:模,素数(只需要判断到 int(sqrt(n))+1),gcd,lcm,快速幂(位运算移位操作),大数分解(分解为质数的乘积) 4.简单图论:最短路(一对多(Dijstra,临接表,矩

    2023年04月22日
    浏览(34)

觉得文章有用就打赏一下文章作者

支付宝扫一扫打赏

博客赞助

微信扫一扫打赏

请作者喝杯咖啡吧~博客赞助

支付宝扫一扫领取红包,优惠每天领

二维码1

领取红包

二维码2

领红包