蓝桥杯
文章平均质量分 50
小丑小丑小丑
这个作者很懒,什么都没留下…
展开
-
蓝桥杯直线(两种枚举方式)
考点:数学加暴力枚举由于直线可以被表示成y = kx + b,因此我们可以枚举两个点求出斜率和截距。斜率和截距都确定了,这条直线就确定了。由于暴力枚举有可能枚举到同一条直线,因此要去重。如果K和B都相等,证明两条直线一样,就不加了。重点是学习枚举的方法,有两个方法:由于要枚举两个点,可以直接枚举x1,x2,y1,y2也可以先把所有点存下来,然后对同一段线性空间套两个for循环。#include <iostream>#include <map>#include <.原创 2022-03-22 22:33:12 · 1212 阅读 · 5 评论 -
蓝桥杯方格分割(dfs + 图形对称的处理方法)
https://www.lanqiao.cn/problems/644/learning/6x6的方格,沿着格子的边线剪开成两部分。 要求这两部分的形状完全相同。如下就是三种可行的分割法。这种种类的题可以想到dfs,但是dfs策略是什么呢?做题的时候不要只盯着格子看,我们可以看边界。也就是说我们可以枚举边界。比如点(2,2),与它中心对称的点是(4,4)其他两个图也是这样的规律。因此我们可以枚举边界点,如果这个点出了6×6方格,那么就到了dfs的边界,ans++伪代码:void原创 2022-03-20 19:00:20 · 506 阅读 · 0 评论 -
蓝桥杯机器人行走(模运算在方向数组的应用 + 用face变量记录当前方向)
机器人行走这道题有一个难点。如何确定机器人的方向?什么意思?比如说:机器人一开始往前走100米,接收到L命令,要想左走。然后又接到一个命令要求它直走100米。此时状态是这样的。现在机器人又要左转再走一百米到达终点。问题来了,由点1到点2是纵坐标减100,但同样是向左,点2到点3是横坐标减100.也就是说:同样的指令,最后要执行的结果是不同的。光靠一个dir数组是没办法解决这个问题的。那怎么解决呢?答案:先制定一个顺时针(或者逆时针)的方向数组,并指定一个face变量,这个face变量记录原创 2022-03-18 23:13:43 · 315 阅读 · 0 评论 -
蓝桥杯青蛙跳杯子+同类型题8数码(bfs最短步数 + 字符串处理)
X星球的流行宠物是青蛙,一般有两种颜色:白色和黑色。 X星球的居民喜欢把它们放在一排茶杯里,这样可以观察它们跳来跳去。 如下图,有一排杯子,左边的一个是空着的,右边的杯子,每个里边有一只青蛙。*WWWBBB其中,W字母表示白色青蛙,B表示黑色青蛙,*表示空杯子。X星的青蛙很有些癖好,它们只做3个动作之一: 1. 跳到相邻的空杯子里。 2. 隔着1只其它的青蛙(随便什么颜色)跳到空杯子里。 3. 隔着2只其它的青蛙(随便什么颜色)跳到空杯子里。对于上图的局面,只要1步,就可跳成下图原创 2022-03-18 22:28:32 · 310 阅读 · 0 评论 -
蓝桥杯全球变暖
你有一张某海域 NxNNxN 像素的照片,".“表示海洋、”#"表示陆地,如下所示:….##….##……##.…####.…###.…其中"上下左右"四个方向上连在一起的一片陆地组成一座岛屿。例如上图就有 2 座岛屿。由于全球变暖导致了海面上升,科学家预测未来几十年,岛屿边缘一个像素的范围会被海水淹没。具体来说如果一块陆地像素与海洋相邻(上下左右四个相邻像素中有海洋),它就会被淹没。例如上图中的海域未来会变成如下样子:……………#………请你计算:依照科学家的预测,照片中有原创 2022-03-17 18:46:45 · 280 阅读 · 4 评论 -
蓝桥杯日志统计(两种暴力和双指针)
看了很多篇题解都没有讲暴力法怎么搞,这里讲一下这两点。双指针其他题解已经很清楚了。暴力法有两种:一种是先枚举时间区间,然后看这一段时间区间里面的每一个日志的点赞数是否满足要求一种是先枚举每一个日志,然后枚举对应的时间区间内的赞数题目描述小明维护着一个程序员论坛。现在他收集了一份"点赞"日志,日志共有N行。其中每一行的格式是:ts id表示在ts时刻编号id的帖子收到一个"赞"。现在小明想统计有哪些帖子曾经是"热帖"。如果一个帖子曾在任意一个长度为D的时间段内收到不少于K个赞,小明就认为这个帖原创 2022-03-14 12:47:36 · 725 阅读 · 3 评论 -
蓝桥杯纸牌三角型
https://www.lanqiao.cn/problems/639/learning/A,2,3,4,5,6,7,8,9 共 99 张纸牌排成一个正三角形(AA 按 11 计算)。要求每个边的和相等。 下图就是一种排法。这样的排法可能会有很多。如果考虑旋转、镜像后相同的算同一种,一共有多少种不同的排法呢?请你计算并提交该数字。这道题目用全排列还是可以想到的。但是问题是考虑选转镜像后相同的算一种是什么意思呢?画图解释一下:旋转三种图镜像翻转三种图:这六种情况是一样的。注:虽然这原创 2022-03-10 08:54:58 · 513 阅读 · 1 评论 -
蓝桥杯排他平方数
排他平方数这道题初一看以为要大数乘法。其实不用。long long最大可以表示20位的十进制数(知道是9开头的19位的即可,多大不重要)补充:int是20亿,10位数注:下面这种写法是错误的,由于100还是int,因此结果出来还是int,因此会出现溢出问题。long long x = 100 * 100;这样写才是正确的。long long x = (long long) 100 * 100;剩下的就不难了,用数组来映射哪些数字出现过,哪些没有即可。ac代码:#include <原创 2022-03-09 15:43:51 · 224 阅读 · 0 评论 -
蓝桥杯买不到的数目(数论或dp两种方法)
https://www.lanqiao.cn/problems/213/learning/题目说给定两个数,问这两个数不能凑出来的最大的数是什么?有两个数学结论:1.当两个数不是互质的,它们两有凑不出来的数,但是这个是没有最大值。比如2和2,199凑不出来,1999也凑不出来2.当两个数互质,它们两凑不出来的最大的数是ab - a - b因此代码:#include <iostream>using namespace std;int main(){ int a , b;原创 2022-03-09 14:41:07 · 188 阅读 · 0 评论 -
蓝桥杯灌溉
灌溉考点:bfs模板题注:题目的格子是从坐标1,1开始的。我们初始化的时候也从坐标1,1开始,这样绝对不会错。#include <iostream>#include <queue>using namespace std;const int N = 110;int g[N][N];vector<pair<int, int>> v;int n, m;int num;//数量int t;int dir[4][2] = {{1, 0},原创 2022-03-08 11:01:49 · 225 阅读 · 0 评论 -
十二届蓝桥杯省赛 时间显示
考点:模拟。对于时间,常用方法就是模和除两种运算。常用公式:hour = time / 3600min = time % 3600 / 60sec = time % 3600 % 60注:对于模运算的理解,相当于过滤掉不需要的秒数。比如说min = time % 3600 / 60;相当于要求出分钟是多少,就要把属于小时的秒数都过滤掉(减去),然后再对剩下的秒数除以60,得到分钟数。思路:这道题有一点变形。由于不需要显示年月日,因此给的秒数应该先过滤掉输入年月日的秒数。即time % .原创 2022-01-28 20:17:25 · 863 阅读 · 0 评论