![](https://img-blog.csdnimg.cn/d37bb562672e42a3966c529644726b34.png?x-oss-process=image/resize,m_fixed,h_224,w_224)
蓝桥杯练习题解
以习题的方式,掌握蓝桥杯常用的算法。
FoLiaGe丶
在学前端
展开
-
长草【标准BFS】
题目分析:本题题意是,给一块草地,刚开始草地上有些草,每经过一个月每颗草都会向四周(上下左右)长一格。思路就是:先把所有有草的地方加入一格队列中,然后依次外延四格,然后把所有上一次外延出来的草加入队列,再一次向外外延四格。如此循环K次即可。...原创 2022-06-12 23:11:59 · 98 阅读 · 0 评论 -
蓝肽子序列【线性DP】
L 星球上的生物由蛋蓝质组成,每一种蛋蓝质由一类称为蓝肽的物资首尾连接成一条长链后折叠而成。生物学家小乔正在研究 L 星球上的蛋蓝质。她拿到两个蛋蓝质的蓝肽序列,想通过这两条蓝肽序列的共同特点来分析两种蛋蓝质的相似性。具体的,一个蓝肽可以使用 111 至 555 个英文字母表示,其中第一个字母大写,后面的字母小写。一个蛋蓝质的蓝肽序列可以用蓝肽的表示顺序拼接而成。在一条蓝肽序列中,如果选取其中的一些位置,把这些位置的蓝肽取出,并按照它们在原序列中的位置摆放,则称为这条蓝肽的一个子序列。蓝肽的子序列不一定在原原创 2022-06-09 22:12:24 · 175 阅读 · 0 评论 -
罗马数字(2012 年省赛)
古罗马帝国开创了辉煌的人类文明,但他们的数字表示法的确有些繁琐,尤其在表示大数的时候,现在看起来简直不能忍受,所以在现代很少使用了。之所以这样,不是因为发明表示法的人的智力的问题,而是因为一个宗教的原因,当时的宗教禁止在数字中出现 0 的概念!罗马数字的表示主要依赖以下几个基本符号:I 1 V 5 X 10 L 50 C 100 D 500 M 1000这里,我们只介绍一下 1000 以内的数字的表示法。单个符号重复多少次,原创 2022-06-01 20:20:04 · 183 阅读 · 0 评论 -
GCD练习题:最大体积 【蓝桥杯】
#include<bits/stdc++.h>using namespace std;#define N 100000int n;int a[15];int c[100000];int gcd(int a,int b) { return b?gcd(b,a%b):a;}//求出所有数的最大公约数bool gcdAll() { int temp = a[0]; for(int i = 1; i<n; i++) temp = gcd(temp,a[i]); r...原创 2022-04-28 16:16:48 · 317 阅读 · 0 评论 -
几何练习题:用圆覆盖点(蓝桥杯)
题目描述平面直角坐标系中求一个最小圆,使这个圆能包括给定的n 个点 。输入描述第一行输入一个n ,代表测试数据量接下来 n 行输入 n 个坐标 (x,y)输出描述第一行输出圆的坐标第二行输出圆的半径。输出保留6位小数#include <bits/stdc++.h>using namespace std;#define eps 1e-8const int N = 1e5+2;int sgn(double x){ if(fabs(x) <原创 2022-03-20 15:34:49 · 241 阅读 · 0 评论 -
蓝桥杯省赛模拟真题六
1.A的个数以下是一个 25 行 25 列的字母矩阵,全部由字母 A 和 B 组成。AAAAAAABABBAABABABAAAAAAAABBBBBABBAABBBBBABABBBBBAABAAABABBBABAABBBBABAAABAABAAABABBBBBAABAABABAAABAABAAABABBABABBABABABAAABAABBBBBABBBABAABBBBABBBBBAAAAAAAABABABABABABAAAAAAABBBBBBBBABAABABBBBBBBBBBBAA.原创 2022-03-27 11:06:07 · 440 阅读 · 0 评论 -
回文日期【蓝桥杯2020年十一届真题】
思路:本题的思路,首先肯定得暴力遍历每一个大于给出的年份,然后判断该年份是否满足要求。观察题目我们可以知道要求的ABABBABA型的回文串,可以知道后面的月和日跟年有关,也就是一年只有可能有一个回文串。因此我们只需要遍历年,然后将年翻转接到年后边形成一个新字符串,然后判断是否符合年月日的规范就可以了。该题使用到的函数:1、stoi函数1)功能:将字符串转换成十进制。2)函数的使用:#include<iostream>using namespace std...原创 2022-04-04 21:42:10 · 348 阅读 · 0 评论 -
马踏过河卒
A 点有一个过河卒,需要走到目标 BB 点。卒行走规则:可以向下、或者向右。同时在棋盘上的任一点有一个对方的马(如上图的 CC 点),该马所在的点和所有跳跃一步可达的点称为对方马的控制点。例如上图 CC 点上的马可以控制 99 个点(图中的 P1,P2 \cdots P8P1,P2⋯P8 和 CC)。卒不能通过对方马的控制点。棋盘用坐标表示,AA 点(00,00)、BB 点(nn,mm)、CC 点(c_xcx,c_ycy)(0 < c_x < n \leq 200<cx原创 2022-03-14 22:31:19 · 176 阅读 · 0 评论 -
小明的彩灯【差分数组】
题解:#include<bits/stdc++.h>using namespace std;const int N = 5e5+10;long long num[N];//存方灯的数组long long ans[N];//定义差分数组int main(){ int n,q; cin>>n>>q; for(int i = 1;i<=n;i++) cin>>num[i]; for(int i = 1;i<=n;i++) a..原创 2022-04-06 18:58:11 · 222 阅读 · 0 评论 -
动态规划入门练习
题目:蒜头君在玩一款逃生的游戏。在一个 n×m 的矩形地图上,蒜头位于其中一个点。地图上每个格子有加血的药剂,和掉血的火焰,药剂的药效不同,火焰的大小也不同,每个格子上有一个数字,如果格子上的数字是正数说明是一个药剂代表增加的生命值,如果是负数说明是火焰代表失去的生命值。蒜头初始化有 v 点血量,他的血量上限是 c,任何时刻他的生命值都不能大于血量上限,如果血量为 0 则会死亡,不能继续游戏。矩形地图上的四个角(1,1),(1,m),(n,1),(n,m)为游戏的出口。游戏中只要选定了一个出口,原创 2022-03-27 16:23:34 · 138 阅读 · 0 评论 -
集合计算:求土包子(蓝桥杯)
题目描述平面直角坐标系中求一个凸包的周长C。输入描述第一行输入一个 n ,代表测试数据量接下来 n 行输入 n 个坐标 (x,y)输出描述输出 C, 结果保留 6位小数#include <bits/stdc++.h>using namespace std;const int N = 1e5;const double eps = 1e-8;int sgn(double x){ //判断x是否等于0 if(fabs(x) < eps原创 2022-03-20 15:37:05 · 259 阅读 · 0 评论