第十四届蓝桥杯编程题部分代码题解
C. 冶炼金属
最大值就是取 a/ba / ba/b 的最小值,最小值就是二分找到满足 mid∗(bi+1)≥aimid * (b_i + 1) ≥ a_imid∗(bi+1)≥ai 的最小值
#include<bits/stdc++.h>
#define int long long
#define x first
#define y second
using namespace std;void solve()
{int n;cin >> n;vector<pair<int, int>> a(n);for (int i = 0; i < n; i++) cin >> a[i].x >> a[i].y;int l = 0, r = 1e9;auto check = [&](int mid){for (int i = 0; i < n; i++)if (mid * (a[i].y + 1) <= a[i].x) return false;return true;};while (l < r){int mid = l + r >> 1;if (check(mid)) r = mid;else l = mid + 1;}cout << l << ' ';int minn = 1e9;for (int i = 0; i < n; i++)minn = min(minn, a[i].x / a[i].y);cout << minn << '\n';
}signed main()
{// freopen("Sample.in", "r", stdin);ios::sync_with_stdio(false);cin.tie(0);int T = 1;// cin >> T;while (T--) solve();// cout << "Time:" << (double)clock() / 1000 << '\n';return 0;
}
D. 飞机降落
全排列枚举所有降落方案,然后判断即可
#include<bits/stdc++.h>
#define int long long
#define x first
#define y second
using namespace std;void solve()
{int n;cin >> n;vector<int> t(n + 10), d(n + 10), l(n + 10);for (int i = 0; i < n; i++) cin >> t[i] >> d[i] >> l[i];vector<int> p(n);for (int i = 0; i < n; i++) p[i] = i;do {int tt = 0;bool flag = true;for (int i = 0; i < n; i++){int x = p[i];if (tt > t[x] + d[x]){flag = false;break;}tt = max(tt, t[x]);tt += l[x];}if (flag) {cout << "YES" << '\n';return;}} while (next_permutation(p.begin(), p.end()));cout << "NO" << '\n';
}signed main()
{// freopen("Sample.in", "r", stdin);ios::sync_with_stdio(false);cin.tie(0);int T = 1;cin >> T;while (T--) solve();// cout << "Time:" << (double)clock() / 1000 << '\n';return 0;
}
E. 接龙数列
状态定义:f[i,j]f[i, j]f[i,j] 为前 iii 个数,以 jjj 结尾的最长合法子序列,答案就是 n−maxn - maxn−max
#include<bits/stdc++.h>
#define int long long
#define x first
#define y second
using namespace std;void solve()
{int n;cin >> n;map<int, int> mp;vector<int> a(n);vector<pair<int, int>> b(n);for (int i = 0; i < n; i++) cin >> a[i];for (int i = 0; i < n; i++){b[i].y = a[i] % 10;int x = a[i];while (x >= 10) x /= 10;b[i].x = x;}int ans = 0;for (int i = 0; i < n; i++){int x = mp[b[i].x];mp[b[i].y] = max(mp[b[i].y], x + 1);ans = max(ans, mp[b[i].y]);}cout << n - ans << '\n';
}signed main()
{// freopen("Sample.in", "r", stdin);ios::sync_with_stdio(false);cin.tie(0);int T = 1;// cin >> T;while (T--) solve();// cout << "Time:" << (double)clock() / 1000 << '\n';return 0;
}
F. 岛屿个数
考场上没什么思路,随便写了个Flood Fill就润了
G. 字串简写
处理 bbb 的前缀和,然后扫一遍即可
#include<bits/stdc++.h>
#define int long long
#define x first
#define y second
using namespace std;void solve()
{int k;cin >> k;string s;char a, b;cin >> s >> a >> b;int n = s.size();s = " " + s;vector<int> B(n + 10);for (int i = 1; i <= n; i++)if (s[i] == b) B[i] ++;for (int i = 1; i <= n; i++) B[i] += B[i - 1];int ans = 0;for (int i = 1; i <= n; i++){if (s[i] == a){if (i + k - 1 > n) continue;ans += B[n] - B[i + k - 2];}}cout << ans << '\n';
}signed main()
{// freopen("Sample.in", "r", stdin);ios::sync_with_stdio(false);cin.tie(0);int T = 1;// cin >> T;while (T--) solve();// cout << "Time:" << (double)clock() / 1000 << '\n';return 0;
}
H. 整数删除
首先初始化下每个数的前驱和后继
开一个小根堆,把所有数的大小和位置都放进去
每次循环,拿到数组中最小的数,标记上位置,然后操作它和它的前驱后继
但是可能拿到的数,已经被改变过了,所以我们需要开一个 mapmapmap ,记录下每个位置被改变过多少次
最后把没有被标记的数输出即可
#include<bits/stdc++.h>
#define int long long
#define x first
#define y second
using namespace std;void solve()
{int n, k;cin >> n >> k;vector<int> a(n + 10);for (int i = 1; i <= n; i++) cin >> a[i];vector<pair<int, int>> b(n + 10);for (int i = 1; i <= n; i++) b[i] = {i - 1, i + 1};priority_queue<pair<int, int>, vector<pair<int, int>>, greater<pair<int, int>>> heap;for (int i = 1; i <= n; i++) heap.push({a[i], i});map<int, int> mp;vector<bool> st(n + 10);for (int i = 0; i < k; i++){while (mp[heap.top().y]){mp[heap.top().y] --;heap.pop();}auto t = heap.top();heap.pop();st[t.y] = true;int l = b[t.y].x, r = b[t.y].y;b[l].y = r, b[r].x = l;a[l] += t.x, a[r] += t.x;mp[l] ++, mp[r] ++;if (l) heap.push({a[l], l});if (r <= n) heap.push({a[r], r});}for (int i = 1; i <= n; i++)if (!st[i]) cout << a[i] << ' ';
}signed main()
{// freopen("Sample.in", "r", stdin);ios::sync_with_stdio(false);cin.tie(0);int T = 1;// cin >> T;while (T--) solve();// cout << "Time:" << (double)clock() / 1000 << '\n';return 0;
}
写在最后
剩下两题都是LCA好像,不太会,导游暴力Floyd骗分,最后一题没读完题,输出样例后就选择去检查了,上述几题都过了民间数据了,应该问题不大,很好啊,好像省一稳了?噢,原来有人赛时没开long long没关同步流啊,为什么没呢?很简单啊,怕过不了编译,然后就真忘了,我是傻逼
相关文章:
第十四届蓝桥杯编程题部分代码题解
C. 冶炼金属 最大值就是取 a/ba / ba/b 的最小值,最小值就是二分找到满足 mid∗(bi1)≥aimid * (b_i 1) ≥ a_imid∗(bi1)≥ai 的最小值 #include<bits/stdc.h> #define int long long #define x first #define y second using namespace std;void sol…...
统一结果封装异常处理
统一结果封装&异常处理2,统一结果封装2.1 表现层与前端数据传输协议定义2.2 表现层与前端数据传输协议实现2.2.1 环境准备2.2.2 结果封装步骤1:创建Result类步骤2:定义返回码Code类步骤3:修改Controller类的返回值步骤4:启动服务测试3,统一异常处理3…...
数字藏品平台的发展趋势是什么?
1、数字藏品平台具体内容生产模式将在PGC(专业生产制造具体内容)方式向PUGC(技术专业用户生产内容)方式变化。 目前,中国热门的数字藏品平台都在PGC模式中持续发展的,而国外流行NFT平台则比较多选用UGC&am…...
Vue3对话框(Dialog)
Vue2对话框(Dialog) 可自定义设置以下属性: 标题(title),类型:string | slot,默认 提示 内容(content),类型:string | slot…...
【深度强化学习】(5) DDPG 模型解析,附Pytorch完整代码
大家好,今天和各位分享一下深度确定性策略梯度算法 (Deterministic Policy Gradient,DDPG)。并基于 OpenAI 的 gym 环境完成一个小游戏。完整代码在我的 GitHub 中获得: https://github.com/LiSir-HIT/Reinforcement-Learning/tree/main/Mod…...
unity,Color.Lerp函数
介绍 Color.Lerp函数是Unity引擎中的一个静态函数,用于在两个颜色值之间进行线性插值,从而实现颜色渐变效果 方法 Color.Lerp函数是Unity引擎中的一个静态函数,用于在两个颜色值之间进行线性插值,从而实现颜色渐变效果。该函数的…...
洛谷P8799 [蓝桥杯 2022 国 B] 齿轮 C语言/C++
[蓝桥杯 2022 国 B] 齿轮 题目描述 这天,小明在组装齿轮。 他一共有 nnn 个齿轮,第 iii 个齿轮的半径为 rir_{i}ri, 他需要把这 nnn 个齿轮按一定顺序从左到右组装起来,这样最左边的齿轮转起来之后,可以传递到最右边的齿轮&a…...
景区在线售票系统功能开发介绍
目前游客线上订票已经普及,景区开通线上购票渠道,方便游客购票,对于还没有开通线上购票的景区来说,需要提前了解一下景区线上售票系统的一些功能,下面给大家详细介绍一下景区在线售票需要哪些功能。 1、在线售票 包含门…...
webService的底层调用方式
webservice中采用协议Http,是指什么意思 WebService使用的是 SOAP (Simple Object Access Protocol)协议 Soap协议只是用来封装消息用的。封装后的消息你可以通过各种已有的协议来传输,比如http,tcp/ip,smtp,等等,你甚至还一次用自定义的协议…...
关于文件的一些小知识下
🍍个人主页🍍:🔜勇敢的小牛儿🚩 🔱推荐专栏🔱:C语言知识点 ⚠️座右铭⚠️:敢于尝试才有机会 🐒今日鸡汤🐒: 你受的苦 吃的亏 担的责 扛的罪 忍的…...
使用Cheat Engine与DnSpy破解Unity游戏
题目连接: https://play.picoctf.org/practice/challenge/361?originalEvent72&page3我们是windows系统,所以点击windows game下载游戏 双击运行pico.exe 屏幕上方的一串英文是叫我们找flag,我在这个小地图里走来走去也没flagÿ…...
溯源取证-内存取证基础篇
使用工具: volatility_2.6_lin64_standalone 镜像文件: CYBERDEF-567078-20230213-171333.raw 使用环境: kali linux 2022.02 我们只有一个RAW映像文件,如何从该映像文件中提取出我们想要的东西呢? 1.Which volatili…...
Leetcode.100 相同的树
题目链接 Leetcode.100 相同的树 easy 题目描述 给你两棵二叉树的根节点 p和 q,编写一个函数来检验这两棵树是否相同。 如果两个树在结构上相同,并且节点具有相同的值,则认为它们是相同的。 示例 1: 输入:p [1,2,3…...
每个程序员都应该知道的8大算法
在编程开发中,算法是用于解决特定问题或完成特定任务的一组指令或过程。算法可以用任何编程语言表示,可以像一系列基本操作一样简单,也可以像涉及不同数据结构和逻辑的多步骤过程一样复杂。 算法的主要目标是接收输入、处理它并提供预期的输…...
Nestjs实战超干货-概况-模块-Modules
模块 模块就是一个声明了装饰器Module()的类。装饰器Module()提供了元数据,以便让Nest组织应用程序结构。 每个应用程序至少有一个模块,即根模块。根模块是 Nest 用来构建应用程序图的起点,应用程序图是 Nest 用来解析模块和提供者关系和依赖…...
template
模板 模板注意事项 模板的函数体和声明一定要在一起,即放在同一个.h文件中,而不能将其分开到cpp和h文件中模板的编译技巧就是尽量多编译,模板很难查找错误模板的报错一般只有第一行有作用模板指定类型从左到右依次指定 模板推导 #pragma #…...
innovus中时序路径debug及命令使用详解?
写在前面:发现place结果所有与outport相关的timing check都找不到? 刚开始怀疑是sdc约束问题,check了input sdc文件及enc.dat/mmmc/mode/func.sdc 看一下是否设置了set_false_path.当然也可以用命令报出来: report_timing -unconstrained …...
C语言爱心代码大全集—会Ctrl+C就可以表白了
一、C语言爱心代码大全,会CtrlC就可以表白了! 博主整理了一个C语言爱心代码大全,里面有C语言爱心代码会动的动态效果和C语言爱心代码大全静态效果,只需复制粘贴就可以用啦! 1、动态C语言爱心代码效果图如下ÿ…...
python+vue+django耕地信息管理系统的设计与实现
基普通用户模块含有个人中心、耕地信息管理、转让许可申请管理、租赁许可申请管理等功能;普通管理员模块含有个人中心、用户管理、公示公告管理、耕地信息管理、耕地信息统计、转让许可申请管理、租赁许可申请管理、转让协议管理、租赁协议管理等功能;管…...
【云原生】Dockerfile制作WordPress镜像,实现compose编排部署
文章目录👹 关于作者前言环境准备目录结构dockerfile制作镜像yum 脚本Dockerfile-mariadb 镜像Dockerfile-service 镜像docker compose 编排提升✊ 最后👹 关于作者 大家好,我是秋意临。 😈 CSDN作者主页 😎 博客主页…...
ComfyUI自定义节点开发指南:从零构建你的专属AI工具链
1. 为什么需要自定义ComfyUI节点? 第一次用ComfyUI做AI绘画时,我就被它灵活的节点式操作吸引了。但用着用着发现一个问题:官方提供的节点虽然强大,但总有些特殊需求无法满足。比如想给生成的图片自动打水印、批量处理文件夹里的图…...
MAI-UI-8B部署全攻略:开箱即用,快速体验GUI智能体强大功能
MAI-UI-8B部署全攻略:开箱即用,快速体验GUI智能体强大功能 1. 认识MAI-UI-8B:能"动手"的AI智能体 大多数AI助手只能回答问题或生成内容,而MAI-UI-8B却能做到真正意义上的"动手操作"。这是一个能够理解图形用…...
Qwen3-0.6B-FP8部署详解:如何用16GB显存跑通FP8量化版Qwen3轻量推理
Qwen3-0.6B-FP8部署详解:如何用16GB显存跑通FP8量化版Qwen3轻量推理 想体验最新的大语言模型,但被动辄几十GB的显存需求劝退?今天,我们来解决这个痛点。 Qwen3系列模型以其强大的推理和对话能力备受关注,但其标准版本…...
墨语灵犀开源模型生态:对接LangChain/RAG构建专属翻译知识库
墨语灵犀开源模型生态:对接LangChain/RAG构建专属翻译知识库 1. 引言:当古典美学遇见现代AI架构 在人工智能技术快速发展的今天,翻译工具已经从简单的词汇转换演变为理解文化语境和语义深度的智能系统。「墨语灵犀」作为基于腾讯混元大模型…...
别再瞎找了!盘点2026年顶流之选的AI论文写作软件
一天写完毕业论文在2026年已不再是天方夜谭。2026年最炸裂的AI论文写作软件来了,实测提速效果惊人,覆盖选题、撰写、查重、排版全流程,让你高效搞定论文不再难。 一、全流程王者:一站式搞定论文全链路(一天定稿首选&am…...
射频电路50Ω阻抗匹配原理与工程实践
射频电路中50Ω阻抗匹配的工程学解析1. 射频传输线阻抗标准的历史渊源1.1 同轴电缆的阻抗优化历程1929年贝尔实验室的系列实验揭示了同轴电缆的两个关键阻抗值:30欧姆可实现最大功率传输,77欧姆则对应最小传输损耗。这两个数值的算术平均值为53.5欧姆&am…...
注意力缺陷是什么?主要有哪几种症状及专注力训练方法?
注意力缺陷病因及其对儿童发展的影响分析 注意力缺陷(ADHD)的病因较为复杂,主要涉及遗传、环境和生物因素。研究表明,遗传因素在儿童注意力缺陷中起着重要作用,有些家族中更容易出现多动症状。与此同时,环境…...
HRNet的‘并行多分支’到底强在哪?一个动画图解带你彻底搞懂特征融合机制
HRNet并行多分支架构的视觉化解析:如何通过双向特征融合突破关键点检测精度瓶颈 在计算机视觉领域,关键点检测任务(如人体姿态估计、人脸特征点定位)对空间精度的要求近乎苛刻。传统卷积神经网络通过层层下采样提取语义特征的代价…...
Pycharm Database工具:一站式数据库可视化操作指南
1. 为什么你需要Pycharm Database工具? 如果你正在用Pycharm写Python代码,特别是开发Web应用时,很可能会遇到需要操作数据库的情况。很多开发者习惯在Pycharm和Navicat这样的独立数据库工具之间来回切换,这其实既浪费时间又影响开…...
3分钟搞定Mac外接显示器控制:MonitorControl完全指南
3分钟搞定Mac外接显示器控制:MonitorControl完全指南 【免费下载链接】MonitorControl MonitorControl/MonitorControl: MonitorControl 是一款开源的Mac应用程序,允许用户直接控制外部显示器的亮度、对比度和其他设置,而无需依赖原厂提供的软…...
