第十四届蓝桥杯程序设计C++B组 (详细图解+保姆级注释)

2023-11-19

0.写在前面:

本届CB组题目难度较往年整体提升了一些,考察知识点全面,题目质量很高,推荐备赛蓝桥杯或感兴趣的同学深入研究本套题,废话不多说,直接上干货!

一.冶炼金属 (签到题难度,考察数论分块知识or二分)


有部分同学可能知道下取整的定义,但是对其性质不够了解,从而导致无法快速推出公式

不过没有关系~~,二分查找也是可以的!

题目分析:


 注意:下方参考代码中的二分模板使用的是左开右开写法

#include <iostream>
#include <cstring>
#include <algorithm>

using namespace std;

int n, mi, ma = 2e9; //初始化

int main()
{
    cin >> n;
    while (n -- )
    {
        int a, b;
        scanf("%d%d", &a, &b);
        int l = -1, r = 1e9 + 1;
        while(l + 1 < r)
        {
            int mid = l + r >> 1;
            if(a / mid > b) l = mid;
            else r = mid;
        }
        mi = max(mi, r);  //最小值要取到最大
        
        l = -1, r = 1e9 + 1;
        while(l + 1 < r)
        {
            int mid = l + r >> 1;
            if (a / mid >= b) l = mid;
            else r = mid;
        }
        ma = min(ma, l); //最大值要取到最小
    }
    cout << mi << " " << ma << endl;
    
    return 0;
}

方法二:推公式法

#include <iostream>
#include <cstring>
#include <algorithm>

using namespace std;

const int N = 10010;

int n, mi, ma = 2e9;

int main()
{
    cin >> n;
    while(n -- )
    {
        int a, b;
        scanf("%d%d", &a, &b);
        mi = max(mi, a / (b + 1) + 1);
        ma = min(ma, a / b);
    }
    cout << mi << " " << ma << endl;
    
    return 0;
}

二.飞机降落(状态压缩DP or DFS)

考场上用贪心做法的同学要好好反思了,做题的第一步是根据数据范围推测算法

若为贪心做法数据范围应该在100000左右,而本题数据最大为10,故首选状态压缩DP

或者DFS,不过贪心写得好也是可以拿到一部分分数的~~~      下面讲解贪心做法

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

第十四届蓝桥杯程序设计C++B组 (详细图解+保姆级注释) 的相关文章

  • 在 C# 中使用“using”关键字避免多次处置的最佳实践

    当变量是 IDisposable 时 我们有using关键字来管理处置 但是如果我们在方法中返回值怎么办 using twice StringContent stringToStringContent string str using St
  • 如何使用 ASP.NET MVC 编辑多选列表?

    我想编辑一个如下所示的对象 我希望用 UsersGrossList 中的一个或多个用户填充 UsersSelectedList 使用 mvc 中的标准编辑视图 我只得到映射的字符串和布尔值 下面未显示 我在 google 上找到的许多示例都
  • 是否可以从 C++ 应用程序调用 C# 应用程序?

    我是一名编程学生 现在我已经上了两门 C 课程 这个学期我将参加我的第一门 C 课程 出于好奇 是否可以从 C 应用程序调用 C 应用程序 如果是的话 是否还可以检查运行该程序的计算机是否具有 NET框架 我只是很好奇 我想如果可能的话 这
  • 将 OpenCV Mat 转换为数组(可能是 NSArray)

    我的 C C 技能很生疏 OpenCV 的文档也相当晦涩难懂 有没有办法获得cv Mat data属性转换为数组 NSArray 我想将其序列化为 JSON 我知道我可以使用 FileStorage 实用程序转换为 YAML XML 但这不
  • 将设置函数(setter)标记为 constexpr 的目的是什么? [复制]

    这个问题在这里已经有答案了 我无法理解将 setter 函数标记为的目的constexpr 自 C 14 起这是允许的 我的误解来自以下情况 我使用 constexpr c tor 声明一个类 并且我将通过创建该类的 constexpr 实
  • 如何以编程方式播放 16 位 pcm 数组 [关闭]

    Closed 这个问题不符合堆栈溢出指南 help closed questions 目前不接受答案 我有一个包含 16 位 pcm 值的短 数组 我希望能够在不添加任何标题 也不将任何文件保存到内存的情况下播放它 我知道我可能需要一个提供
  • 静态类与类的实例

    我有一个静态类 用于访问我的公共属性 整个应用程序的全局属性 和我在应用程序运行期间使用的方法 例如 我在静态类中设置了一些属性 并且在应用程序运行时我可以从属性中获取值 但我可以使用单例模式创建非静态类并以相同的方式使用它 问题 对于我的
  • 如何使用 Roslyn 通过扩展方法、静态类中的方法以及带有 ref/out 参数的方法来访问调用

    我正在致力于创建一个开源项目 用于创建 NET UML 序列图 该项目利用名为 js sequence diagrams 的 javascript 库 我不确定 Roslyn 是适合这项工作的工具 但我想我应该尝试一下 所以我整理了一些概念
  • 在 C# 中何时使用 ArrayList 而不是 array[]?

    我经常使用一个ArrayList而不是 正常 array 当我使用时 我感觉好像我在作弊 或懒惰 ArrayList 什么时候可以使用ArrayList在数组上 数组是强类型的 并且可以很好地用作参数 如果您知道集合的长度并且它是固定的 则
  • Resharper:IEnumerable 的可能多重枚举

    我正在使用新的 Resharper 版本 6 在我的代码中的几个地方 它给一些文本加了下划线 并警告我可能存在IEnumerable 可能的多重枚举 我理解这意味着什么 并在适当的情况下采纳了建议 但在某些情况下 我不确定这实际上是一个大问
  • 使用多线程进行矩阵乘法?

    我应该使用线程将两个矩阵相乘 有两件事 当我运行程序时 我不断得到 0 我还收到消息错误 对于每个错误 它在粗体行上显示 警告 从不兼容的指针类型传递 printMatrix 的参数1 我尝试打印输出 还要注意 第一个粗体块 这是我解决问题
  • 为什么 f(i = -1, i = -1) 是未定义的行为?

    我正在读关于违反评估顺序 http en cppreference com w cpp language eval order 他们举了一个令我困惑的例子 1 如果标量对象上的副作用相对于同一标量对象上的另一个副作用是无序的 则行为未定义
  • 使用 xslt 将 xml 转换为 xsl-fo 时动态创建超链接?

    我想使用 xsl 文件在 PDF 报告中创建标题 如果源文件包含超链接 则应将其呈现为超链接 否则呈现为纯文本 例如 我的 xml 如下所示 a href http google com target blank This is the h
  • 浮点字节序?

    我正在为实时海上模拟器编写客户端和服务器 并且由于我必须通过套接字发送大量数据 因此我使用二进制数据来最大化可以发送的数据量 我已经了解整数字节顺序以及如何使用htonl and ntohl为了规避字节顺序问题 但我的应用程序与几乎所有模拟
  • 从 NumPy 数组到 Mat 的 C++ 转换 (OpenCV)

    我正在围绕 ArUco 增强现实库 基于 OpenCV 编写一个薄包装器 我试图构建的界面非常简单 Python 将图像传递给 C 代码 C 代码检测标记并将其位置和其他信息作为字典元组返回给 Python 但是 我不知道如何在 Pytho
  • Autoconf 问题:“错误:C 编译器无法创建可执行文件”

    我正在尝试使用 GNU 自动工具构建一个用 C 编写的程序 但显然我设置错误 因为当configure运行 它吐出 configure error C compiler cannot create executables 如果我看进去con
  • Linq.Select() 中的嵌套表达式方法调用

    I use Select i gt new T 每次手动点击数据库后将我的实体对象转换为 DTO 对象 以下是一些示例实体和 DTOS 用户实体 public partial class User public int Id get set
  • Xamarin.Forms UWP 项目中标题栏和选项卡之间令人恼火的空白

    我几乎是新手Xamarin Forms我正在开发一个相当简单的跨平台应用程序 该应用程序在 Android 中显示得足够好 但在 UWP 中却出现了一个愚蠢的空白 该项目由一个 TabbedPage 组成 其中包含 4 个 Navigati
  • 有没有办法直接在函数参数中格式化字符串而不是使用临时字符串?

    我有一个接受字符串 字符数组 作为参数的函数 void enterString char my string 当使用这个函数时 我经常发现自己想要输入格式化的字符串 我使用 sprintf 来做到这一点 然而 我每次都必须创建一个临时字符串
  • 将 Swagger 与命名空间版本的 WebApi 结合使用

    我已经找到了如何使用基于名称空间的 WebAPI 版本这个班 https aspnet codeplex com SourceControl changeset view dd207952fa86 Samples WebApi Namesp

随机推荐

  • 系统架构设计师之软件架构风格

    系统架构设计师之软件架构风格
  • C# Math.Round()四舍五入、四舍六入五成双

    开发者为了实现小数点后 2 位的四舍五入 编写了如下代码 var num Math Round 12 125 2 代码非常的简单 开发者实际得到的结果是12 12 这与其所预期的四舍五入结果12 13相悖 其实产生这个结果的原因是由于Mat
  • 什么是 T-Kernel

    本文译至 http www t engine org what is t kernel 什么 T Kernel T Kernel 实时操作系统是由T Engine论坛开发的用以满足下一代普适计算环境设备性能要求的OS T Engine 是一
  • web designer设计器编译问题

    web designer设计器编译问题 下载地址 https github com xiaoai7904 web designer 开发工具 Visual Studio Code 执行npm install 初次安装编译过程中会出现 dll
  • word工具栏菜单栏隐藏打开的办法

    windows中打开 开始 运行 键入 winword a 然后 确定 即可恢复默认工具栏 重新打开文档
  • [基本功]辛普森悖论

    辛普森悖论是指什么现象 当人们尝试探究两种变量 比如新生录取率与性别 是否具有相关性时 会分别对之进行分组研究 然而 在分组比较中都占优势的一方 在总评中有时反而是失势的一方 上表中 商学院女生录取率为49 lt 男生录取率75 法学院女生
  • 我做了10年的测试,由衷的建议年轻人别入这行了

    两天前 有个做功能测试7年的同事被裁员了 这位老哥已经做到了团队中的骨干了 人又踏实 结果没想到刚刚踏入互联网 老龄化 大关 就被公司给无情优化了 现在他想找同类型的工作 薪资也一直被压 考虑转行转型的话 上升空间又窄 昨天还在指点江山 今
  • 【计算机视觉

    文章目录 一 PASCAL Context 二 DAVIS 2017 三 COCO Stuff Common Objects in COntext stuff 四 RefCOCO 五 CamVid Cambridge driving Lab
  • 7.Xaml Image控件

    1 运行图片 2 运行源码 a xaml源码
  • 2016视觉目标跟踪总结

    最近学习视觉目标跟踪算法 主要了解了几个主流的跟踪算法 kcf stc dsst 算法原理网上很多 这里就不再赘述 只对跟踪效果做了测试记录 Kcf 全名Kernelized Correlation Filters 其中hog特征用的fho
  • 嵌入式(条件变量和线程池)

    条件变量 应用场景 生产者消费者问题 是线程同步的一种手段 必要性 为了实现等待某个资源 让线程休眠 提高运行效率 int pthread cond wait pthread cond t restrict cond pthread mut
  • 开头为0的md5值总结

    s878926199a 0e545993274517709034328855841020 s155964671a 0e342768416822451524974117254469 s214587387a 0e8482404488305379
  • MATLAB曲线拟合灵敏度,用Matlab曲线拟合工具箱curve fitting曲线拟合,原来是这样的...

    在使用Matlab软件时 对于曲线拟合来说 有两种方式 其一是编写程序代码 其二是利用Curve fitting工具箱进行 本例通过一个多项式拟合的小试验 向您介绍利用curve fitting工具箱进行曲线拟合的一般步骤 工具 材料 Ma
  • 分块查找算法思路、示例和实现

    分块查找 索引表 22 44 74 数组 22 12 13 9 8 33 42 44 38 24 48 60 58 74 47 算法步骤 通过索引表线性查找确定在数组的哪一 块 通过数组里所在 块 的线性查找确定是否存在 在哪个位置 算法代
  • 2023西安交通大学软件工程915考研经验帖(初试+复试)

    目录 前言 一 初试准备 数学 英语 政治 专业课 总结 杂项 二 复试准备 1 笔试 数据库 操作系统 2 面试 总结 前言 本文仅记录我考研期间 2022 12初试 2023 3复试 的经验和感受 不具有普适性 请根据自身情况调整学习计
  • anaconda 删除环境_Anaconda:解决你装包的烦恼

    生物信息学的日常就是利用五花八门的工具和各种各样的数据打交道 很多时候需要在命令行安装软件或者包 我相信每一个生信人都碰到过安装软件或包时无法解决依赖的囧况 安装软件或者包 听起来是一件很简单的一件事 实际情况却不是如此 比如说编译时碰到系
  • android12适配机型,安卓12支持机型有哪些?安卓12系统为什么有的软件用不了?...

    安卓12系统终于发布了 虽说之前也体验了不少的测试版本了 这次正式版的发售还是很期待的 Android 12是Android历史上最大的设计变化 整体的界面也简洁了不少 不过也还存在不少的问题 比如指纹识别 人脸识别等 下面一起来看看安卓1
  • 网络通信TCP协议三次握手

    TCP是什么 TCP Transmission Control Protocol 传输控制协议 是一种面向连接 连接导向 的 可靠的 基于IP的传输层协议 TCP在IP报文的协议号是6 TCP是一个超级麻烦的协议 而它又是互联网的基础 也是
  • [Transformer]A Survey of Transformers-邱锡鹏

    复旦邱锡鹏组最新综述 A Survey of Transformers A Survey of Transformers Transformers已经在人工智能诸多领域 如NLP CV 声音处理等方面取得进展 也受到学术界和工业界的广泛关注
  • 第十四届蓝桥杯程序设计C++B组 (详细图解+保姆级注释)

    0 写在前面 本届CB组题目难度较往年整体提升了一些 考察知识点全面 题目质量很高 推荐备赛蓝桥杯或感兴趣的同学深入研究本套题 废话不多说 直接上干货 一 冶炼金属 签到题难度 考察数论分块知识or二分 有部分同学可能知道下取整的定义 但是