分巧克力(蓝桥杯C/C++B组真题详解)

2023-11-10

目录

题目:​编辑

 题目思路:

代码详解:


题目:

 题目思路:

因为答案唯一

且分布在一个区间里面

我们可以想到二分答案

直到找到最小的满足的条件的

合适答案

代码详解:

#include<iostream>
using namespace std;
const int N=1e5+6;
int a[N],b[N];

int main(){
    int n,k;
    cin>>n>>k;
    for(int i=1;i<=n;i++) scanf("%d%d",&a[i],&b[i]);

    int l=1,r=N;
    while(l<r){
        int mid=l+r>>1;
        int sum=0;
        for(int i=1;i<=n;i++){
            int x=a[i]/mid;
            int y=b[i]/mid;
            sum+=x*y;
        }

        if(sum<k) r=mid;
        else l=mid+1;

    }

    cout<<l-1;//l对于取到正确答案仍然会加1,所以最后要减1
    return 0;
}

PS:这题其实理解了二分,时间复杂度不难,通过对时间的计算,就可以知道采用二分时间复杂度在O(Nlog2N),条件下的时间在1秒之内,所以可以得出答案。

PPS:建议做事情从最重要的事情一件一件的去做,不重要的先不管,行动起来,你就会成功。

6666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

分巧克力(蓝桥杯C/C++B组真题详解) 的相关文章

随机推荐

  • Java - 表达数值的字符串(剑指offer)

    请实现一个函数用来判断字符串是否表示数值 包括整数和小数 例如 字符串 100 5e2 123 3 1416 和 1E 16 都表示数值 但是 12e 1a3 14 1 2 3 5 和 12e 4 3 都不是 剑指offer public
  • 100个Python小游戏,上班摸鱼我能玩一整年【附源码】

    哈喽铁子们 表弟最近在学Python 总是跟我抱怨很枯燥无味 其实 他有没有认真想过 可能是自己学习姿势不对 比方说 可以通过打游戏来学编程 今天给大家分享100个Python小游戏 一定要收藏 相关文件代码已上传 文末扫一下名片备注 游戏
  • Kettle实例-缺失值处理-去除缺失值

    1 通过使用Kettle工具 创建一个转换delete missing value 并添加 文本文件输入 控件 字段选择 控件 过滤记录 控件 Excel输出 控件 空操作 什么也不做 控件以及Hop跳连接线 2 单击 浏览 按钮 选择要去
  • 多线程(一):通俗易懂的理解线程和进程

    目录 计算机常识 什么是程序 什么是进程 什么是线程 如果理解线程切换 程序和CPU的常识 线程切换过程 普及几个线程面试题 和以上说过的知识相关 1 单核CPU设定多线程是否有意义 2 工作线程数是不是设置越大越好 3 工作线程数 线程池
  • echarts自定义多根柱子在一起柱状图/条形图

    先看效果 与单一柱状图相比 多柱子的多定义了几个series的值 legend值 注意的是 这东西叫图例标记 是legend下面的参数 看代码 div style width 100 height 240px div
  • 史上最全的java随机数生成算法(转)

    转自 http www zuidaima com share 1585762703215616 htm package com test util import java util Random public class RandomUti
  • 关于elasticsearch与kibana、IK分词器

    初识elasticsearch 正向索引和倒排索引 什么是文档和词条 每一条数据就是一个文档 对文档中的内容分词 得到的词语就是词条 elasticsearch就是面对文档存储的 可以是数据库中的一条商品数据 一个订单信息 文档数据会被反序
  • 找出字符串中第一次出现一次的字符的算法。

    链接 https www nowcoder com questionTerminal d370c322d06945a5901e8436d1e2e681 orderByHotValue 1 page 1 onlyReference false
  • 我为什么要学习Rust

    最早接触到 Rust 是在几年前的一次技术大会上 黄东旭说 TiKV 是用 Rust 语言编写的 引起了我的一些兴趣 但只是保持关注而已 我一直认为每一种编程语言都有着各自的典型应用领域 也有着各自的编程范式 没有最好的编程语言 参见 PH
  • 不讲武德---不用代码爬虫

    有人问 我不会代码 我能爬虫吗 我 很快啊 回答 可以 不需要写代码的 那当然是需要工具了 较为熟知的爬虫工具有八爪鱼 和web scraper 这次我所使用的是web scraper 安装web scraper 这篇文章讲述的算清晰的了
  • JetBrains插件推荐

    JetBrains软件本身就是效率神器 配合上一些好用的插件 效率就更是飞升了 本文就简单记录一些好用的插件和简介 持续更新 安装方法都很简单 这里就不过多叙述了 实在不会就百度一下 Chinese Simplified Language
  • smb windows中使用的文件共享协议(主要用于与windows互通)

    主要是samba服务 SMB协议又成为CIFS Common Internet File System 协议 samba服务功能 1文件共享 2打印共享 3加入windows2000 2003 2008域环境 4通过windows域环境进行
  • 黑马程序员并发编程笔记(二)--java线程基本操作和理解

    3 java进程的基本操作 3 1 创建进程 方法一 直接使用 Thread 构造方法的参数是给线程指定名字 推荐给线程起个名字 用setName 也可以 Thread t1 new Thread t1 Override run 方法内实现
  • 跳跃游戏(LeetCode)

    一 题目 55 跳跃游戏 难度 中等 给定一个非负整数数组 nums 你最初位于数组的 第一个下标 数组中的每个元素代表你在该位置可以跳跃的最大长度 判断你是否能够到达最后一个下标 示例1 输入 nums 2 3 1 1 4 输出 true
  • fftw3/gsl/kissfft/OouraFFT库中傅里叶变换/反傅里叶变换函数和Matlab中的fft/ifft的对应关系

    先分析一维度的 一 fftw plan dft 1d 正变换 fftw complex in fftw malloc sizeof fftw complex n fftw complex out fftw malloc sizeof fft
  • 如何用Flask和Redis来动态维护Cookies池

    为什么要用Cookies池 目标网站需要登录才能爬取 例如新浪微博 爬取过程中 如果请求频率过高 会导致封号 这就需要维护多个账号的Cookies池实现大规模爬取 Cookies池的要求 自动登录更新 定时验证筛选 提供外部接口 Cooki
  • 如何使用JAVA获取当前环境下的MAC地址

    在Windows下很简单直接运行脚本命令就可以了 public static String getMac try Process process Runtime getRuntime exec cmd exe c ipconfig all
  • 2023,8种必备Selenium编写自动化用例的技巧!

    在开始自动化时 您可能会遇到各种可能包含在自动化代码中的方法 技术 框架和工具 有时 与提供更好的灵活性或解决问题的更好方法相比 这种多功能性导致代码更加复杂 在编写自动化代码时 重要的是我们能够清楚地描述自动化测试的目标以及我们如何实现它
  • SPADE阅读笔记

    SPADE阅读笔记 目录 SPADE阅读笔记 作者的方法 spatial adaptive denormalization SPADE generator 为啥SPADE work better 同样的 作者提出一个simplt but e
  • 分巧克力(蓝桥杯C/C++B组真题详解)

    目录 题目 编辑 题目思路 代码详解 题目 题目思路 因为答案唯一 且分布在一个区间里面 我们可以想到二分答案 直到找到最小的满足的条件的 合适答案 代码详解 include