当前位置: 首页 > news >正文

[蓝桥杯]真题讲解:冶炼金属(暴力+二分)

蓝桥杯真题视频讲解:冶炼金属(暴力做法与二分做法)

  • 一、视频讲解
  • 二、暴力代码
  • 三、正解代码

一、视频讲解

视频讲解
在这里插入图片描述

二、暴力代码

//暴力代码
#include<bits/stdc++.h>
#define endl '\n'
#define deb(x) cout << #x << " = " << x << '\n';
#define INF 0x3f3f3f3f
using namespace std;
const int N = 1e4 + 10;void solve()
{int n; cin >> n;vector<int>a(n), b(n);//创建数组for(int i = 0; i < n; i ++)cin >> a[i] >> b[i];for(int i = 1; i <= 1e6; i ++)//枚举的转化率V{bool flag = true;//标记一下当前的V是否合法for(int j = 0; j < n; j ++){if(b[j] != (a[j] / i)){flag = false;break;}}if(flag){cout << i << " ";break;}}for(int i = 1e6; i >= 1; i --){bool flag = true;for(int j = 0; j < n; j ++){if(b[j] != (a[j] / i)){flag = false;break;}}if(flag){cout << i << " ";break;}}}signed main()
{ios::sync_with_stdio(0);cin.tie(0);cout.tie(0);int t;t = 1;//cin >> t;while(t--)solve();
}

三、正解代码

//冶炼金属:二分
#include<bits/stdc++.h>
#define int long long
using namespace std;
const int N = 1e4 + 10;
int a[N], b[N];
int n;bool check_min(int mid)
{for(int i = 0; i < n; i ++){if(b[i] < a[i] / mid)return false;}return true;
}bool check_max(int mid)
{for(int i = 0; i < n; i ++)if(b[i] > a[i] / mid)return false;return true;
}void solve()
{cin >> n;for(int i = 0; i < n; i ++)cin >> a[i] >> b[i];//求最小值。int lmin = 1, rmin = 1e9;while(lmin < rmin){int mid = lmin + rmin >> 1;if(check_min(mid))rmin = mid;elselmin = mid + 1;}//求最大值。int lmax = 1, rmax = 1e9;while(lmax < rmax){int mid = lmax + rmax + 1 >> 1;if(check_max(mid))lmax = mid;elsermax = mid - 1;}cout << lmin << " " << lmax << endl;
}signed main()
{ios::sync_with_stdio(0);int t = 1;// cin >> t;while(t--)solve();
}
http://www.lryc.cn/news/288035.html

相关文章:

  • Fastbee开源物联网项目RoadMap
  • Linux文件管理技术实践
  • Python如何按指定列的空值删除行?
  • 【云原生】Docker的镜像创建
  • 大语言模型推理提速:TensorRT-LLM 高性能推理实践
  • 全面理解“张量”概念
  • MacOS X 安装免费的 LaTex 环境
  • 深入Amazon S3:实战指南
  • Ansible自动化运维(三)Playbook 模式详解
  • LCS板子加逆向搜索
  • 不同知识表示方法与知识图谱
  • Kotlin程序设计 扩展篇(一)
  • 星环科技基于第五代英特尔®至强®可扩展处理器的分布式向量数据库解决方案重磅发布
  • 一体化运维的发展趋势与未来展望
  • 科技云报道:金融大模型落地,还需跨越几重山?
  • C语言入门到精通之练习34:求100之内的素数
  • Qt采集本地摄像头推流成rtsp/rtmp(可网页播放/支持嵌入式linux)
  • Oracle按日周月年自动分区
  • 单元测试、模块测试、web接口测试
  • DAY10_SpringBoot—SpringMVC重定向和转发RestFul风格JSON格式SSM框架整合Ajax-JQuery
  • 刘润-进化的力量2 一刷 笔记
  • 用Excel辅助做数独
  • arcgis实现截图/截屏功能
  • mysql备份
  • CentOS7 安装PostgreSQL以及配置服务
  • React 表单、处理受控表单组件、非受控组件
  • Android开发--状态栏布局隐藏的方法
  • GaussDB如何创建和管理序列、定时任务
  • mybatis-plus:代码生成器
  • 几款提高开发效率的Idea 插件