算法
文章平均质量分 58
杨大熊的代码世界
代码无止境!
展开
-
算法知识点梳理
文章目录前言一、数据结构1.1 vector声明方式:添加数据:常用参数:排序删除元素1.2 栈stack声明方式:常用操作:1.3 队列queue声明方式:常用操作:1.4优先队列priority_queue1.5 set集合1.6map容器1.7自定义结构体struct二、算法部分2.1最大公约数gcd2.2 快速幂2.3 DFS(深度优先遍历)2.4 BFS(广度优先遍历)2.5 动态规划一维dp例题:路径二维dp例题:砝码称重2.6 其他前言转眼间,蓝桥杯真的近在咫尺了,正赛即将开始!小博主作原创 2022-04-07 22:51:34 · 911 阅读 · 0 评论 -
算法练习题40---蓝桥杯2021模拟赛“受伤的皇后”
文章目录前言一、题目描述输入描述输出描述输入输出样例示例 1运行限制二、思路三、具体代码前言蓝桥杯2021年模拟赛,编程题(C++)N皇后问题是非常经典的问题,也是考察的重点一、题目描述有一个 n×n 的国际象棋棋盘(n 行 n 列的方格图),请在棋盘中摆放 n 个受伤的国际象棋皇后,要求:任何两个皇后不在同一行。任何两个皇后不在同一列。如果两个皇后在同一条 45 度角的斜线上,这两个皇后之间行号的差值至少为 3 。请问一共有多少种摆放方案。输入描述输入的第一行包含一个整数 n。原创 2022-03-11 18:45:13 · 1268 阅读 · 3 评论 -
算法练习题37---蓝桥杯2018省赛“乘积尾零”
文章目录前言一、题目描述运行限制二、思路三、代码前言蓝桥杯2018年省赛,填空题(C++)一、题目描述如下的 10 行数据,每行有 10 个整数,请你求出它们的乘积的末尾有多少个零?5650 4542 3554 473 946 4114 3871 9073 90 4329 2758 7949 6113 5659 5245 7432 3051 4434 6704 3594 9937 1173 6866 3397 4759 7557 3070 2287 1453 9899 1486 5722原创 2022-03-04 12:28:27 · 252 阅读 · 0 评论 -
算法练习题36---蓝桥杯2018省赛“明码”
文章目录前言一、题目描述运行限制二、思路三、代码1--构造二进制转换函数四、代码2--利用bitset类前言蓝桥杯2018年省赛,填空题(C++)一、题目描述汉字的字形存在于字库中,即便在今天,16 点阵的字库也仍然使用广泛。16 点阵的字库把每个汉字看成是 16×16 个像素信息。并把这些信息记录在字节中。一个字节可以存储 88 位信息,用 32 个字节就可以存一个汉字的字形了。 把每个字节转为 2 进制表示,1 表示墨迹,0 表示底色。每行 2 个字节,一共 16 行,布局是:原创 2022-03-04 11:19:11 · 398 阅读 · 0 评论 -
算法练习题32---蓝桥杯2020省赛“既约分数”
文章目录前言一、题目描述运行限制二、思路三、代码前言蓝桥杯2020年,填空题(C++)一、题目描述如果一个分数的分子和分母的最大公约数是 1,这个分数称为既约分数。例如 3/4,1/8,7/1, 都是既约分数。请问,有多少个既约分数,分子和分母都是 1 到 2020之间的整数(包括 1 和 2020)?运行限制最大运行时间:2s最大运行内存: 128M二、思路构造一个求最大公约数的函数gcd(),然后去判断公约是否为1,以此进行统计三、代码#include<bits/原创 2022-02-28 22:51:50 · 220 阅读 · 0 评论 -
算法练习题34---蓝桥杯2021省赛“路径”
文章目录前言一、题目描述运行限制二、思路三、具体代码前言蓝桥杯2021年,填空题(C++)题目考察了利用dijkstra算法去求最短路径的问题一、题目描述小蓝学习了最短路径之后特别高兴,他定义了一个特别的图,希望找到图 中的最短路径。小蓝的图由 2021 个结点组成,依次编号 1 至 2021。对于两个不同的结点 a, b,如果 a 和 b 的差的绝对值大于 21,则两个结点 之间没有边相连;如果 a 和 b 的差的绝对值小于等于 21,则两个点之间有一条 长度为 a 和 b 的最小公倍数原创 2022-02-27 18:19:47 · 821 阅读 · 0 评论 -
算法练习题31---KMP算法
文章目录前言一、KMP简介二、例题三、程序样例前言KMP算法是字符串操作中非常重要的一种算法思想,主要用于指定字符串的查找。在普通的暴力查找中,时间复杂度的级别是O(NM),而KMP算法可以将时间复杂度控制在O(N+M)级别,在算法竞赛中,是一个应付时间限制非常重要的算法思想。一、KMP简介KMP算法的主要思想是基于暴力匹配字符串的思想,但是和暴力匹配的不同点在于,KMP会提前对进行匹配的字符串做一个处理,比如用P去S中寻找是否有能够匹配的,或者求取S中包含P的个数,那么KMP算法会先对P进行预原创 2022-02-21 21:43:18 · 852 阅读 · 0 评论 -
算法练习题30---蓝桥杯2021省赛“货物摆放”
文章目录前言一、题目描述二、思路三、具体代码前言蓝桥杯2021年,填空题(C++)一、题目描述小蓝有一个超大的仓库,可以摆放很多货物。现在,小蓝有 n 箱货物要摆放在仓库,每箱货物都是规则的正方体。小蓝规定了长、宽、高三个互相垂直的方向,每箱货物的边都必须严格平行于长、宽、高。小蓝希望所有的货物最终摆成一个大的长方体。即在长、宽、高的方向上分别堆 L、W、H 的货物,满足 n = L ×W×H。给定 n,请问有多少种堆放货物的方案满足要求。例如,当 n=4 时,有以下 6 种方案:1×1原创 2022-02-16 13:47:15 · 1291 阅读 · 0 评论 -
算法练习题21---蓝桥杯2019省赛“后缀表达式”
文章目录前言一、题目描述题目描述输入描述输出描述输入输出样例示例运行限制二、思路举个例子再举另外一个例子:三、具体代码前言蓝桥杯2019省赛,编程题(C++)一、题目描述题目描述给定 N 个加号、M 个减号以及 N+M+1 个整数A1,A2,⋅⋅⋅,AN+M+1,小明想知道在所有由这 N 个加号、M 个减号以及N+M+1 个整数凑出的合法的 后缀表达式中,结果最大的是哪一个?请你输出这个最大的结果。例如使用 1 2 3 + -,则 “2 3 + 1 -” 这个后缀表达式结果是 4,是最大的原创 2022-01-27 16:52:54 · 5861 阅读 · 1 评论 -
算法练习题20---蓝桥杯2019省赛“等差数列”
文章目录前言一、题目描述输入描述输出描述输入输出样例示例运行限制二、思路三、具体代码前言蓝桥杯2019省赛,编程题(C++)一、题目描述数学老师给小明出了一道等差数列求和的题目。但是粗心的小明忘记了一 部分的数列,只记得其中 N 个整数。现在给出这 N 个整数,小明想知道包含这 N 个整数的最短的等差数列有几项?输入描述输入的第一行包含一个整数 N。第二行包含 N 个整数 A1,A2,⋅⋅⋅,AN。(注意 A1 ∼ AN 并不一定是按等差数列中的顺序给出)其中,2≤N≤10的5次方,0≤原创 2022-01-25 19:26:24 · 210 阅读 · 0 评论 -
算法练习题19---蓝桥杯2019省赛“完全二叉树的权值”
文章目录前言一、题目描述输入描述输出描述输入输出样例示例运行限制二、思路三、具体代码前言蓝桥杯2019省赛,编程题(C++)一、题目描述给定一棵包含 NN 个节点的完全二叉树,树上每个节点都有一个权值,按从 上到下、从左到右的顺序依次是 A1,A2,⋅⋅⋅AN,如下图所示:现在小明要把相同深度的节点的权值加在一起,他想知道哪个深度的节点 权值之和最大?如果有多个深度的权值和同为最大,请你输出其中最小的深度。注:根的深度是 1。输入描述第一行包含一个整数 N(1 \leq N \leq原创 2022-01-25 19:16:57 · 150 阅读 · 0 评论 -
算法练习题18---蓝桥杯2019省赛“迷宫”
文章目录前言一、题目描述运行限制二、思路三、具体代码前言蓝桥杯2019省赛,填空题(C++)一、题目描述下图给出了一个迷宫的平面图,其中标记为 11 的为障碍,标记为 00 的为可以通行的地方。010000000100001001110000迷宫的入口为左上角,出口为右下角,在迷宫中,只能从一个位置走到这 个它的上、下、左、右四个方向之一。对于上面的迷宫,从入口开始,可以按 DRRURRDDDR 的顺序通过迷宫, 一共 10 步。其中 D、U、L、R分别表示向下、向上、向左、向右走原创 2022-01-23 22:19:53 · 6874 阅读 · 0 评论 -
算法练习题17---蓝桥杯2019省赛“特别数的和”
文章目录前言一、题目描述输入描述输出描述输入输出样例示例运行限制二、思路三、具体代码前言蓝桥杯2019省赛,编程题(C++)一、题目描述小明对数位中含有 2、0、1、9 的数字很感兴趣(不包括前导 0),在 1 到 40 中这样的数包括 1、2、9、10 至 32、39 和 40,共 28 个,他们的和是 574。请问,在 1 到 nn 中,所有这样的数的和是多少?输入描述输入格式:输入一行包含两个整数n(1≤n≤10的4次方)。输出描述输出一行,包含一个整数,表示满足条件的数的和。原创 2022-01-23 22:00:37 · 564 阅读 · 0 评论 -
算法练习题16---蓝桥杯2019省赛“数的分解”
文章目录前言一、题目描述运行限制二、思路三、具体代码前言蓝桥杯2019省赛,填空题(C++)一、题目描述把 2019 分解成 3 个各不相同的正整数之和,并且要求每个正整数都不包含数字 2 和 4,一共有多少种不同的分解方法?注意交换 3 个整数的顺序被视为同一种方法,例如 1000 + 1001 + 18 和 1001 + 1000 + 18 被视为同一种。运行限制最大运行时间:1s最大运行内存: 128M二、思路这个题也是可以通过暴力法来求解,因为2000*2000 *2000原创 2022-01-22 21:55:53 · 323 阅读 · 0 评论 -
算法练习题15---蓝桥杯2019省赛“数列求值”
文章目录前言一、题目描述运行限制二、思路三、具体代码前言蓝桥杯2019省赛,填空题(C++)一、题目描述给定数列 1, 1, 1, 3, 5, 9, 17,⋯,从第 4 项开始,每项都是前 3 项的和。求第 20190324 项的最后 4 位数字。运行限制最大运行时间:1s最大运行内存: 128M二、思路这个题可以通过暴力的方法来解决,就像斐波那契那样,将其装入for循环中。因为结果要求输出最后的4位数字,所以我们每次相加的时候,需要对三个操作数,假定为a,b,c 进行a%=100原创 2022-01-22 21:49:59 · 302 阅读 · 0 评论 -
算法练习题14---蓝桥杯2017省赛“年号字串”
文章目录前言一、题目描述运行限制二、思路三、程序代码前言蓝桥杯2017省赛,编程题(C++)一、题目描述小明用字母 A 对应数字 1,B 对应 2,以此类推,用 Z 对应 26。对于 27 以上的数字,小明用两位或更长位的字符串来对应,例如 AA 对应 27,AB 对应 28,AZ 对应 52,LQ 对应 329。请问 2019 对应的字符串是什么?运行限制最大运行时间:1s最大运行内存: 128M二、思路这个题实质上是在考察进制转换,该题目可以看成是10进制转成26进制,但是与传原创 2022-01-21 17:06:53 · 291 阅读 · 0 评论 -
算法练习题13---N皇后问题
文章目录前言一、题目描述输入输出样例输入样例输出二、思路三、代码实现前言N皇后问题是非常经典的回溯和剪枝的应用,也是数据结构与算法课程中非常重要的一个算法思想。它一般采用DFS也称深度优先搜索算法来解决。通过一道例题来具体介绍一下这类题目的解法和其算法思想。一、题目描述题目为 hdu2553 “N皇后问题”在N*N的方格棋盘放置了N个皇后,使得它们不相互攻击(即任意2个皇后不允许处在同一排,同一列,也不允许处在与棋盘边框成45角的斜线上。 你的任务是,对于给定的N,求出有多少种合法的放置方法。原创 2022-01-20 22:58:29 · 454 阅读 · 0 评论 -
算法练习题12---蓝桥杯2017省赛“k倍区间”
文章目录一、题目描述输入:输出描述运行限制二、思路三、具体代码# 前言蓝桥杯2017省赛,编程题(C++)一、题目描述给定一个长度为 N的数列,A1, A2, ⋯AN,如果其中一段连续的子序列 Ai,Ai+1,⋯Aj (i≤j ) 之和是 K 的倍数,我们就称这个区间 [ i , j ] 是 K 倍区间。你能求出数列中总共有多少个 K 倍区间吗?输入:第一行包含两个整数 N 和 K( 1≤N,K≤10的五次方 )以下 N 行每行包含一个整数Ai ( 1≤Ai≤10的五次方)输出描述输出原创 2022-01-19 16:12:08 · 361 阅读 · 0 评论 -
算法练习题11---蓝桥杯2017省赛“日期问题”
文章目录前言一、题目描述输入格式:输出格式:输入输出样例运行限制二、思路及注意点三、具体代码前言蓝桥杯2017年省赛,编程题(c++)一、题目描述小明正在整理一批历史文献。这些历史文献中出现了很多日期。小明知道这些日期都在 1960 年 1 月 1 日至 2059 年 12 月 31 日。令小明头疼的是,这些日期采用的格式非常不统一,有采用年/月/日的,有采用月/日/年的,还有采用日/月/年的。更加麻烦的是,年份也都省略了前两位,使得文献上的一个日期,存在很多可能的日期与其对应。比如 02/0原创 2022-01-18 16:58:01 · 385 阅读 · 0 评论 -
算法练习题10---蓝桥杯B组刷题赛“最大公共子串”
文章目录一、题目描述源代码二、思路三、具体代码# 前言蓝桥杯B组刷题赛,代码填空(C++)一、题目描述最大公共子串长度问题就是: 求两个串的所有子串中能够匹配上的最大长度是多少。比如:“abcdkkk” 和 “baabcdadabc”, 可以找到的最长的公共子串是"abcd",所以最大公共子串长度为 4。下面的程序是采用矩阵法进行求解的,这对串的规模不大的情况还是比较有效的解法。请分析该解法的思路,并补全划线部分缺失的代码。源代码C#include <stdio.h>#i原创 2022-01-18 12:22:54 · 68 阅读 · 0 评论