蓝桥杯
以蓝桥杯真题为基础进行讲解,打造让新手可以更快上手的专栏
茶色岛^
一枚热爱编程的丸子,希望在接下来的日子里与大家一起学习
展开
-
动态规划之买卖股票问题
动态规划算法本质上就是穷举「状态」,然后在「选择」中选择最优解。这个问题的「状态」有三个,第一个是天数,第二个是允许交易的最大次数,第三个是当前的持有状态(即之前说的rest的状态,我们不妨用 1 表示持有,0 表示没有持有)。然后我们用一个三维数组就可以装下这几种状态的全部组合:比如说dp[3][2][1]的含义就是:今天是第三天,我现在手上持有着股票,至今最多进行 2 次交易。再比如dp[2][3][0]的含义:今天是第二天,我现在手上没有持有股票,至今最多进行 3 次交易。原创 2023-03-05 18:18:48 · 803 阅读 · 1 评论 -
蓝桥杯2019——等差数列
第八题:等差数列(20分)题目描述数学老师给小明出了一道等差数列求和的题目。但是粗心的小明忘记了一部分的数列,只记得其中 N 个整数。现在给出这 N 个整数,小明想知道包含这 N 个整数的最短的等差数列有几项?【输入格式】输入的第一行包含一个整数 N。第二行包含 N 个整数 A 1 ,A 2 ,··· ,A N 。(注意 A 1 ∼ A N 并不一定是按等差数列中的顺序给出)【输出格式】输出一个整数表示答案。【样例输入】52 6 4 10原创 2022-02-15 23:17:20 · 207 阅读 · 0 评论 -
【思特奇杯·云上蓝桥-算法集训营】第1周.阶乘约数
🌈🌈😄😄欢迎来到茶色岛独家岛屿,本期将为大家揭晓阶乘约数,做好准备了么,那么开始吧🌲🌲🐴🐴原创 2022-01-05 15:02:41 · 287 阅读 · 0 评论 -
【思特奇杯·云上蓝桥-算法集训营】第2周.穿越雷区
题目描述已知的地图是一个方阵,上面用字母标出了A,B区,其它区都标了正号或负号分别表示正负能量辐射区。例如:A + - + -- + - - +- + + + -+ - + - +B + - + -坦克车只能水平或垂直方向上移动到相邻的区。数据格式要求:输入第一行是一个整数n,表示方阵的大小, 4<=n<100接下来是n行,每行有n个数据,可能是A,B,+,-中的某一个,中间用空格分开。A,B都只出现一次。要求输出一个整数,表示坦克从.原创 2022-01-14 21:49:48 · 204 阅读 · 0 评论 -
【思特奇杯·云上蓝桥-算法集训营】第2周.未名湖边的烦恼
问题描述 每年冬天,北大未名湖上都是滑冰的好地方。北大体育组准备了许多冰鞋,可是人太多了,每天下午收工后,常常一双冰鞋都不剩。 每天早上,租鞋窗口都会排起长龙,假设有还鞋的m个,有需要租鞋的n个。现在的问题是,这些人有多少种排法,可以避免出现体育组没有冰鞋可租的尴尬场面。(两个同样需求的人(比如都是租鞋或都是还鞋)交换位置是同一种排法)输入格式 两个整数,表示m和n输出格式 一个整数,表示队伍的排法的方案数。样例输入3 2样例输出5#include&.原创 2022-01-14 21:57:01 · 148 阅读 · 0 评论 -
蓝桥杯 跑步锻炼
题目描述:小蓝每天都锻炼身体。正常情况下,小蓝每天跑1千米。如果某天是周一或者月初(1日),为了激励自己,小蓝要跑2千米。如果同时是周一或月初,小蓝也是跑2千米。小蓝跑步已经坚持了很长时间,从2000年1月1日周六(含)到2020年10月1日周四(含)。请问这段时间小蓝总共跑步多少千米?#include <iostream>using namespace std;int days[13] = {0, 31, 28, 31, 30, 31, 30, 31, 31, 30, 31,原创 2022-01-24 11:42:43 · 334 阅读 · 0 评论 -
【思特奇杯·云上蓝桥-算法集训营】第3周.爬楼梯
int climbStairs(int n) { int p = 0, q = 0, r = 1; for (int i = 1; i <= n; i++) { p = q; q = r; r = p + q; } return r;}原创 2022-01-22 11:34:59 · 184 阅读 · 0 评论 -
【思特奇杯·云上蓝桥-算法集训营】第3周.使用最小花费爬楼梯
int minCostClimbingStairs(int* cost, int costSize) { int prev = 0, curr = 0; for (int i = 2; i <= costSize; i++) { int next = fmin(curr + cost[i - 1], prev + cost[i - 2]); prev = curr; curr = next; } return cu.原创 2022-01-22 11:36:57 · 195 阅读 · 0 评论 -
【思特奇杯·云上蓝桥-算法集训营】第3周.斐波那契数
int fib(int n) { if (n < 2) { return n; } int p = 0, q = 0, r = 1; for (int i = 2; i <= n; i++) { p = q; q = r; r = p + q; } return r;}原创 2022-01-22 11:30:51 · 273 阅读 · 0 评论 -
蓝桥杯.平面切分
【问题描述】平面上有 N 条直线,其中第 i 条直线是 y = Ai · x + Bi。请计算这些直线将平面分成了几个部分。【输入格式】第一行包含一个整数 N。以下 N 行,每行包含两个整数 Ai, Bi。【输出格式】一个整数代表答案。【样例输入】31 12 23 3【样例输出】6【评测用例规模与约定】对于 50% 的评测用例,1 ≤ N ≤ 4, 10 ≤ Ai, Bi ≤ 10。对于所有评测用例,1 ≤ N ≤ 1000, 100000 ≤ Ai, Bi ≤ 100000。原创 2022-01-24 19:25:10 · 173 阅读 · 0 评论 -
蓝桥杯.乘积尾零
如下的10行数据,每行有10个整数,请你求出它们的乘积的末尾有多少个零?5650 4542 3554 473 946 4114 3871 9073 90 43292758 7949 6113 5659 5245 7432 3051 4434 6704 35949937 1173 6866 3397 4759 7557 3070 2287 1453 98991486 5722 3135 1170 4014 5510 5120 729 2880 90192049 698 4582 4346 4427原创 2022-01-23 19:14:12 · 303 阅读 · 0 评论 -
【思特奇杯·云上蓝桥-算法集训营】第3周.杨辉三角形
#include<iostream>using namespace std;int N;long long C(int n,int m){ long long t=1; for(int i=0;i<m;i++) { t = t*(n-i)/(i+1); if(t>N)return t; } return t;} bool find(int L,int R,int x){ long long ans...原创 2022-01-22 11:13:42 · 191 阅读 · 0 评论 -
【思特奇杯·云上蓝桥-算法集训营】第3周.第 N 个泰波那契数
int tribonacci(int n) { if (n == 0) { return 0; } if (n <= 2) { return 1; } int a = 0, b = 0, r = 1, s = 1; for (int i = 3; i <= n; i++) { a = b; b = r; r = s; s = a + b +.原创 2022-01-22 11:33:08 · 231 阅读 · 0 评论 -
蓝桥杯.回文日期
题目描述2020 年春节期间,有一个特殊的日期引起了大家的注意:2020 年 2 月 2 日。因为如果将这个日期按 yyyymmdd 的格式写成一个 8 位数是 20200202,恰好是一个回文数。我们称这样的日期是回文日期。有人表示 20200202 是“千年一遇” 的特殊日子。对此小明很不认同,因为不到 2 年之后就是下一个回文日期:20211202 即 2021 年 12 月 2 日。也有人表示 20200202 并不仅仅是一个回文日期,还是一个 ABABBABA 型的回文日期。原创 2022-01-24 19:17:05 · 110 阅读 · 2 评论 -
【思特奇杯·云上蓝桥-算法集训营】第3周.K好数
问题描述如果一个自然数N的K进制表示中任意的相邻的两位都不是相邻的数字,那么我们就说这个数是K好数。求L位K进制数中K好数的数目。例如K = 4,L = 2的时候,所有K好数为11、13、20、22、30、31、33 共7个。由于这个数目很大,请你输出它对1000000007取模后的值。输入格式输入包含两个正整数,K和L。输出格式输出一个整数,表示答案对1000000007取模后的值。样例输入4 2样例输出7#include<iostream&原创 2022-01-22 11:22:59 · 99 阅读 · 0 评论