第十四届蓝桥杯(八题C++ 题目+代码+注解)
目录
题目一(日期统计 纯暴力):
代码:
题目二(01串的熵 模拟):
代码:
题目三(治炼金属):
代码:
题目四(飞机降落 深度搜索):
代码:
题目五(接龙数列 动态规划):
代码:
题目六(岛屿个数 广度优先):
代码:
题目七(子串简写 尺取法):
代码:
题目八(整数删除):
代码:
题目一(日期统计 纯暴力):

代码:
#include <iostream>
using namespace std;
int main()
{int array[100] = {5, 6, 8, 6, 9, 1, 6, 1, 2, 4, 9, 1, 9, 8, 2, 3, 6, 4, 7, 7,5, 9, 5, 0, 3, 8, 7, 5, 8, 1, 5, 8, 6, 1, 8, 3, 0, 3, 7, 9,2, 7, 0, 5, 8, 8, 5, 7, 0, 9, 9, 1, 9, 4, 4, 6, 8, 6, 3, 3,8, 5, 1, 6, 3, 4, 6, 7, 0, 7, 8, 2, 7, 6, 8, 9, 5, 6, 5, 6,1, 4, 0, 1, 0, 0, 9, 4, 8, 0, 9, 1, 2, 8, 5, 0, 2, 5, 3, 3};int Month[13] = { 0, 31, 28, 31, 30, 31, 30, 31, 31, 30, 31, 30, 31 };int ans = 0;for (int month = 1; month <= 12; ++month)//枚举月{for (int day = 1; day <= Month[month]; ++day)//枚举天{int date[8] = { 2, 0, 2, 3, month / 10, month % 10, day / 10, day % 10 };//把八位数得出int k = 0;for (int i = 0; i < 100; ++i) //遍历100个数,是否能满足有该天{if (array[i] == date[k]) //满足该位{++k;//下一位if (k == 8) //等于8,即满足该年月日,答案加一{ans++;break;}}}}}cout << ans;return 0;
}
题目二(01串的熵 模拟):

代码:
#include <iostream>//H(s)= -(0的个数)/(总长度)*log2((0的个数)/(总长度))*0的个数-(1的个数)/(总长度)*log2((1的个数)/(总长度))*1的个数
#include <algorithm>
#include <cmath>
using namespace std;
int main()
{int n = 23333333;//0出现的次数更少for (int i = 1; i < n / 2; ++i){double a = i * 1.0 / n;//0的占比double b = (n - i) * 1.0 / n;//1的占比double res1,res2;res1 = 0 - (a * log2(a) * i);//求0的部分res2 = 0 - b * log2(b) * (n - i);//求1的部分if (abs((res1+res2) - 11625907.5798) < 0.0001)//差距在0.000内{cout << i << endl;break;}}return 0;
}
题目三(治炼金属):

代码:
#include <iostream>
#include <algorithm>
using namespace std;
struct node
{int x, s;
};
bool cmp(node a, node b)//v小的排前
{return a.x / a.s < b.x / b.s;
}
int main()
{int n;cin >> n;int maxx = 1e9;node a[10100];for (int i = 1; i <= n; i++){cin >> a[i].x >> a[i].s;}sort(a + 1, a + 1 + n, cmp);//能满足所有的,且v为最大maxx = a[1].x / a[1].s;int minn = 0;for (int z = maxx; z >= 1; z--)//由最大的往前算,递减,直到有一个不满足{int flag = 0;for (int i = 1; i <= n; i++){if (a[i].x / z > a[i].s){flag = 1;minn = z;break;}}if (flag == 1)break;}cout << minn + 1 << " " << maxx;
}
题目四(飞机降落 深度搜索):

代码:
#include <iostream>
#include <vector>
using namespace std;
struct plane// 创建飞机结构体变量
{int t, d, l;
};
bool vis[15]; // true表示飞机降落,false表示飞机未降落
bool flag; // 标记是否全部安全降落
vector<plane> p(15);
int m, cnt;
void dfs(int cnt,int last) // lasttime表示此前所有飞机降落所需的单位时间
{if (cnt == m)//所有飞机都可降落{flag = true;return;}for (int i = 0; i < m; i++)//遍历所有飞机{if (!vis[i] && p[i].t + p[i].d >= last) // 还未降落且只有最迟降落时间(来的时刻+盘旋时间) > lasttime 的飞机才可以安全降落{vis[i] = true;dfs(cnt + 1, max(last, p[i].t) + p[i].l);vis[i] = false;}}
}int main()
{int T;cin >> T;while (T--){cin >> m;for (int i = 0; i < m; ++i)cin >> p[i].t >> p[i].d >> p[i].l;flag = false;dfs(0, 0);if (flag)cout << "YES" << endl;elsecout << "NO" << endl;}return 0;
}
题目五(接龙数列 动态规划):

代码:
#include <iostream>//动态规划,类0、1背包问题
#include <string>
using namespace std;
int dp[10];//第n个时以i结尾的最长接龙序列
int main()
{int n;cin >> n;string s;int m = 0;for (int i = 0; i < n; i++) {cin >> s;int x = s[0] - '0', y = s.back() - '0';//x表示该数的首字母,y表示该数的最后一个字母//除了以y结尾的,其它不变dp[y] = max(dp[x] + 1, dp[y]);//dp[x]+1表示选该数字时的最长序列,dp[y]表示不选该数字时的最长序列,继承m = max(m, dp[y]);//每次比较,记录最大值}cout << n - m << endl;return 0;
}
题目六(岛屿个数 广度优先):


代码:
#include<iostream>
#include<queue>
#include<cstring>
using namespace std;
const int N = 77;
string s[N];
int book[N][N];
int m, n, ans=0;
int dx[8] = { 0,0,1,-1,1,1,-1,-1 };
int dy[8] = { 1,-1,0,0,1,-1,1,-1 };
int check(int x,int y)//通过海水(0)是否能到达边界判断这个岛屿是否在环岛内
{queue<pair<int, int>>q;q.push({ x, y });int vis[N][N];memset(vis, 0, sizeof(vis));//访问数组,初始化为0while (!q.empty()){x = q.front().first, y = q.front().second;q.pop();if (x == 1 || x == n || y == 1 || y == m)//到边界,则不在环岛内return 1;for (int i = 0; i < 8; i++){int tx = x + dx[i], ty = y + dy[i];if (vis[tx][ty] == 1 || s[tx][ty] == '1')//边界条件continue;vis[tx][ty] = 1;q.push({ tx,ty });}}return 0;
}
void bfs(int x,int y)//遍历这个岛屿
{queue<pair<int, int>>q;q.push({ x,y });book[x][y] = 1;while (!q.empty()){x = q.front().first, y = q.front().second;q.pop();for (int i = 0; i < 4; i++){int tx = x + dx[i], ty = y + dy[i];if (tx<1 || ty<1 || tx>n || ty>m || book[tx][ty] == 1 || s[tx][ty] == '0')//边界条件continue;book[tx][ty] = 1;q.push({ tx,ty });}}
}
void solve()
{memset(book, 0, sizeof(book));//访问数组,初始为0cin >> n >> m;for (int i = 1; i <= n; i++)cin >> s[i], s[i] = " " + s[i];for(int i=1;i<=n;i++)for (int j = 1; j <= m; j++){if (book[i][j] == 0 && s[i][j] == '1')//没访问过且为陆地{bfs(i, j);if (check(i, j))//判断是否在环岛内,不在则加一ans++;}}cout << ans << endl;
}
int main()
{int T;cin >> T;while (T--){ans = 0;solve();}
}
题目七(子串简写 尺取法):

代码:
#include <iostream>//尺取法
using namespace std;
int k, t;
string s;
long long sum = 0;
int main()
{char c1, c2;cin >> k >> s >> c1 >> c2;for (int j = 0; j < s.length(); j++){if (s[j] == c1) //t记录j及以前c1的个数t++;if (s[j + k - 1] == c2) //刚好满足k之后的是否为c2sum += t;}cout << sum;return 0;
}
题目八(整数删除):

代码:
#include<iostream>
#include<vector>
#include<queue>
#include<functional>//greater降序排序,less升序排序
#define int long long
using namespace std;
typedef pair<int, int> pii;
const int N = 5e5 + 10;
int a[N], l[N], r[N], st[N];//l存左下标,r存右下标
signed main()
{int n, k;cin >> n >> k;priority_queue<pii, vector<pii>, greater<pii>> q;//最小堆排序for (int i = 0; i < n; i++){cin >> a[i];q.push({ a[i],i });//存值和下标st[i] = a[i];//存值l[i] = i - 1;r[i] = i + 1;if (r[i] == n) r[i] = -1;}while (k)//k次操作{pii t = q.top();//取对顶q.pop();if (t.first != st[t.second])//值与之前不相等,则把新值,下标存入,重新排序{q.push({ st[t.second],t.second });continue;}k--;int pos = t.second;//取该次的下标if (l[pos] >= 0) st[l[pos]] += t.first;//左加值if (r[pos] >= 0) st[r[pos]] += t.first;//右加值if (l[pos] >= 0) r[l[pos]] = r[pos];//该左边值的右下标if (r[pos] >= 0) l[r[pos]] = l[pos];//该右边值的左下标st[pos] = -1;//标记为-1,表示移除队列}for (int i = 0; i < n; i++)//不等与-1的,按序输出{if (st[i] != -1)cout << st[i] << ' ';}return 0;
}
相关文章:
第十四届蓝桥杯(八题C++ 题目+代码+注解)
目录 题目一(日期统计 纯暴力): 代码: 题目二(01串的熵 模拟): 代码: 题目三(治炼金属): 代码: 题目四(飞机降落 深度…...
HTTP协议格式详解之报头(HTTP header)、请求正文(body)
在之前文章中我们已经介绍了HTTP的首行信息,HTTP协议格式详解之首行信息解析-CSDN博客这篇文章中我们继续介绍HTTP协议的报头部分。 一、报头(HTTP header) a)请求头部(Request Headers): Host:指定服务器…...
[yolox]ubuntu上部署yolox的ncnn模型
首先转换pytorch->onnx->param模型,这个过程可以查资料步骤有点多,参考blog.51cto.com/u_15660370/6408303,这里重点讲解转换后部署。 测试环境: ubuntu18.04 opencv3.4.4(编译过程省略,参考我其他博客) 安装…...
YOLOv9改进策略 :IoU优化 | 提出一种新的Shape IoU,更加关注边界框本身的形状和尺度,对小目标检测也很友好
💡💡💡本文改进:一种新的Shape IoU方法,该方法可以通过关注边界框本身的形状和尺度来计算损失,解决边界盒的形状和规模等固有属性对边界盒回归的影响。 💡💡💡对小目标检测涨点明显,在VisDrone2019、PASCAL VOC均有涨点 《YOLOv9魔术师专栏》将从以下各个方向进…...
如何使用KST指标进行多头交易,Anzo Capital一个条件设置
在之前的文章中,我们进行分享了以下知识:什么是KST指标,以及如何进行计算KST指标。有聪明的投资者就在后台进行咨询Anzo Capital昂首资本了,我们知道这些知识有什么用呢? 当然有用了,只要理解背后的逻辑知…...
【QT进阶】第十三章QT动画类的使用QAbstractAnimation
❤️作者主页:凉开水白菜 ❤️作者简介:共同学习,互相监督,热于分享,多加讨论,一起进步! ❤️专栏目录:【零基础学QT】文章导航篇 ❤️专栏资料:https://pan.baidu.com/s/192A28BTIYFHmixRcQwmaHw 提取码:qtqt ❤️点赞 👍 收藏 ⭐再看,养成习惯 订阅的粉丝可通过…...
【机器学习】揭秘无监督学习:机器如何自我学习发现数据奥秘
无监督学习:全面解析 引言 在机器学习的众多分支中,无监督学习因其在未标记数据上发现隐藏模式的能力而独树一帜。它不依赖于事先标记的输出,而是通过分析数据本身的结构和分布来揭示内在的关系和分类。本文深入探讨无监督学习的核心概念、…...
鸿蒙(HarmonyOS)ArkTs语言基础教程(大纲)
鸿蒙(HarmonyOS)ArkTs语言基础教程 简介 ArkTS 是鸿蒙生态的应用开发语言。它在保持 TypeScript(简称 TS)基本语法风格的基础上,对 TS 的动态类型特性施加更严格的约束,引入静态类型。同时,提…...
掌握未来商机:如何利用会话式AI赢在起跑线
AI智能助手:提升工作效率的秘密武器 在这个信息爆炸的时代,内容策略成为了品牌与用户之间沟通的重要桥梁。一个有效的内容策略能够帮助品牌提升知名度,建立与目标受众的深度连接,并最终实现转化目标。内容策略不仅涉及内容的创作与…...
软考高级架构师:数据传输控制方式:程序控制方式、程序中断方式、DMA方式、通道方式、IO处理机
作者:明明如月学长, CSDN 博客专家,大厂高级 Java 工程师,《性能优化方法论》作者、《解锁大厂思维:剖析《阿里巴巴Java开发手册》》、《再学经典:《Effective Java》独家解析》专栏作者。 热门文章推荐&am…...
大模型之路2:继续趟一条小路
继续趟一条小路,可谓是充满了曲折,当然,必不可少的还是坑。 吐槽 看过的喷友,其实你看完以后,大概率也就是和我一起骂骂街,因为....我也的确没理清楚。 我也不知道做错了什么,就是运行不过去…...
打造安全医疗网络:三网整体规划与云数据中心构建策略
医院网络安全问题涉及到医院日常管理多个方面,一旦医院信息管理系统在正常运行过程中受到外部恶意攻击,或者出现意外中断等情况,都会造成海量医疗数据信息的丢失。由于医院信息管理系统中存储了大量患者个人信息和治疗方案信息等,…...
imu测试--UDP、PTP
imu测试–UDP、PTP UDP 服务器端口: nc -lu -p 52340;客服端: nc -u 192.168.101.175 52340列出linux所以的开放端口 sudo netstat -tulpn或者$ sudo ss -tulpn状态列显示端口是否处于侦听状态(LISTEN)。 在上面的命令中,标志ÿ…...
软考 系统架构设计师系列知识点之云原生架构设计理论与实践(13)
接前一篇文章:软考 系统架构设计师系列知识点之云原生架构设计理论与实践(12) 所属章节: 第14章. 云原生架构设计理论与实践 第3节 云原生架构相关技术 14.3.2 云原生微服务 1. 微服务发展背景 过去开发一个后端应用最为直接的方…...
2024多功能知识付费源码下载
多功能知识付费源码下载实现流量互导多渠道变现 源码介绍 资源变现类产品的许多优势,并剔除了那些无关紧要的元素,使得本产品在运营和变现能力方面实现了质的飞跃。多领域素材资源知识变现营销裂变独立版本。 支持:视频、音频、图文、文档…...
计算机网络——33多点访问协议
多点访问协议 多路访问链路和协议 两种类型的链路(一个子网内部链路连接形式) 点对点 拨号访问的PPP以太网交换机和主机之间的点对点链路 广播 传统以太网HFC上行链路802.11无线局域网 多路访问协议 单个共享的广播型链路 2个过更多结点同时传送&am…...
基于神经网络的人脸识别系统的设计与实现
基于神经网络的人脸识别系统的设计与实现 摘要: 随着计算技术的快速发展,人脸识别已成为身份验证、安全监控等领域的关键技术。本文旨在设计并实现一个基于神经网络的人脸识别系统,该系统能够自动地从输入图像中检测和识别出人脸。论文首先介…...
远控桌面多任务并发文件保密传输
远程桌面文件传输是一个重要的功能,大多数远控都是用的桌面程序模式,利用系统自带复制粘贴拖拽文件拷贝功能,做一个ole调用对接,可以将很多控制权交给操作系统。 但我做的是浏览器版,浏览器是沙盒原理,为了…...
探索 ZKFair 的Dargon Slayer蓝图,解锁新阶段的潜力
在当前区块链技术的发展中,Layer 2(L2)解决方案已成为提高区块链扩容性、降低交易成本和提升交易速度的关键技术,但它仍面临一些关键问题和挑战,例如用户体验的改进、跨链互操作性、安全性以及去中心化程度。在这些背景…...
open Gauss 数据库-04 openGauss数据库日志管理指导手册
发文章是为了证明自己真的掌握了一个知识,同时给他人带来帮助,如有问题,欢迎指正,祝大家万事胜意! 目录 前言 openGauss 数据库日志管理 1 实验介绍 2 实验目的 3 系统日志 3.1 运行时日志 3.2 安装卸载时日志…...
零门槛NAS搭建:WinNAS如何让普通电脑秒变私有云?
一、核心优势:专为Windows用户设计的极简NAS WinNAS由深圳耘想存储科技开发,是一款收费低廉但功能全面的Windows NAS工具,主打“无学习成本部署” 。与其他NAS软件相比,其优势在于: 无需硬件改造:将任意W…...
Unity3D中Gfx.WaitForPresent优化方案
前言 在Unity中,Gfx.WaitForPresent占用CPU过高通常表示主线程在等待GPU完成渲染(即CPU被阻塞),这表明存在GPU瓶颈或垂直同步/帧率设置问题。以下是系统的优化方案: 对惹,这里有一个游戏开发交流小组&…...
基础测试工具使用经验
背景 vtune,perf, nsight system等基础测试工具,都是用过的,但是没有记录,都逐渐忘了。所以写这篇博客总结记录一下,只要以后发现新的用法,就记得来编辑补充一下 perf 比较基础的用法: 先改这…...
前端开发面试题总结-JavaScript篇(一)
文章目录 JavaScript高频问答一、作用域与闭包1.什么是闭包(Closure)?闭包有什么应用场景和潜在问题?2.解释 JavaScript 的作用域链(Scope Chain) 二、原型与继承3.原型链是什么?如何实现继承&a…...
【HTTP三个基础问题】
面试官您好!HTTP是超文本传输协议,是互联网上客户端和服务器之间传输超文本数据(比如文字、图片、音频、视频等)的核心协议,当前互联网应用最广泛的版本是HTTP1.1,它基于经典的C/S模型,也就是客…...
[Java恶补day16] 238.除自身以外数组的乘积
给你一个整数数组 nums,返回 数组 answer ,其中 answer[i] 等于 nums 中除 nums[i] 之外其余各元素的乘积 。 题目数据 保证 数组 nums之中任意元素的全部前缀元素和后缀的乘积都在 32 位 整数范围内。 请 不要使用除法,且在 O(n) 时间复杂度…...
【论文阅读28】-CNN-BiLSTM-Attention-(2024)
本文把滑坡位移序列拆开、筛优质因子,再用 CNN-BiLSTM-Attention 来动态预测每个子序列,最后重构出总位移,预测效果超越传统模型。 文章目录 1 引言2 方法2.1 位移时间序列加性模型2.2 变分模态分解 (VMD) 具体步骤2.3.1 样本熵(S…...
全面解析各类VPN技术:GRE、IPsec、L2TP、SSL与MPLS VPN对比
目录 引言 VPN技术概述 GRE VPN 3.1 GRE封装结构 3.2 GRE的应用场景 GRE over IPsec 4.1 GRE over IPsec封装结构 4.2 为什么使用GRE over IPsec? IPsec VPN 5.1 IPsec传输模式(Transport Mode) 5.2 IPsec隧道模式(Tunne…...
蓝桥杯3498 01串的熵
问题描述 对于一个长度为 23333333的 01 串, 如果其信息熵为 11625907.5798, 且 0 出现次数比 1 少, 那么这个 01 串中 0 出现了多少次? #include<iostream> #include<cmath> using namespace std;int n 23333333;int main() {//枚举 0 出现的次数//因…...
DeepSeek 技术赋能无人农场协同作业:用 AI 重构农田管理 “神经网”
目录 一、引言二、DeepSeek 技术大揭秘2.1 核心架构解析2.2 关键技术剖析 三、智能农业无人农场协同作业现状3.1 发展现状概述3.2 协同作业模式介绍 四、DeepSeek 的 “农场奇妙游”4.1 数据处理与分析4.2 作物生长监测与预测4.3 病虫害防治4.4 农机协同作业调度 五、实际案例大…...
