![](https://img-blog.csdnimg.cn/20201014180756913.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
蓝桥杯C\C++
文章平均质量分 63
Time 初晨
计算机科学与技术专业
展开
-
蓝桥杯大赛— —每日一题(12、城堡问题)
【题目描述】小的时候,你玩过纸牌游戏吗?有一种叫做 “拉马车” 的游戏,规则很简单,却很吸引小朋友。其规则简述如下:假设参加游戏的小朋友是 A 和 B,游戏开始的时候,他们得到的随机的纸牌序列如下:A 方:[K, 8, X, K, A, 2, A, 9, 5, A]B 方:[2, 7, K, 5, J, 5, Q, 6, K, 4]其中的 X 表示 “10”,我们忽略了纸牌的花色。从 A 方开始,A、B 双方轮流出牌。当轮到某一方出牌时,他从自己的纸牌队列的头部拿走一张,放到桌上,并且压在原创 2021-04-15 19:23:56 · 1214 阅读 · 2 评论 -
蓝桥杯大赛— —每日一题(11、方格分割)
【问题描述】【我的思路】这道题是个填空题,而且方个数不是很多,所以可以直接用穷举的方法来,当然这里用递归要简单很多。这和图的遍历有些像,只是可以理解为起点从中点开始,达到边界算结束,而且它的对称点也不能走,因为要对称分割嘛。既然这样那么直接用DFS(深度优先遍历)来做。注意结果要除以4,因为旋转对称的不算。代码:#include<iostream>using namespace std;bool fg[7][7];int sum = 0;int x_dir[4] = { -原创 2021-04-12 12:16:47 · 147 阅读 · 0 评论 -
蓝桥杯大赛— —每日一题(10、神奇的口袋)
【问题描述】有一个背包,其容量为40,现在有N件物品,1,2,3,4……N,每件物品的体积为a[i](1<=i<=N),如果你可以刚好利用这N件物品将这个背包装满,那么这些东西就是你的,问你一共有多少中选法?第一行输入一个整数N表示一共有多少个物品,第二行有N个数,每个数代表这个物品的体积。输出一个整数,代表一共有多少中选法。【我的思路】这道题当然首先想到的是用递归,要做的第一步当然是从前k件物品里凑出体积为m的物品,way(k,m),我们最后求出way(N,40)就行,用递归的方法来原创 2021-04-11 19:35:19 · 203 阅读 · 0 评论 -
蓝桥杯大赛— —每日一题(9、最长上升子序列)
【问题描述】【我的思路】这个问题很容易想到用动态规划来解决的,因为那也相当于是一个求最优解的问题。对于本题来说,既然用到动态规划,我们首先应该想一下子问题是什么,经过思考,子问题应该是第i个数a[i]的最长上升子序列MaxLen[i]是多少,想一下如果我们把这个求出来了,那么第i+1个数的最长上升子序列是不是也可以求出来了呢,当然是前i个数的上升子序列中距离它最近的一个比它本身小的数a[k]的上升子序列MaxLen[k]加一。那么它的边界条件是不是就是当i等于1的时候MaxLen[1] = 1,然后原创 2021-04-10 14:09:32 · 241 阅读 · 0 评论 -
蓝桥杯大赛— —每日一题(8、矩阵)
【问题描述】把 1 ∼ 2020 放在 2 × 1010 的矩阵里。要求同一行中右边的比左边大,同一列中下边的比上边的大。一共有多少种方案?答案很大,你只需要给出方案数除以 2020 的余数即可。答案提交这是一道结果填空题,你只需要算出结果后提交即可。本题的结果为一个整数,在提交答案时只填写这个整数,填写多余的内容将无法得分。【我的思路】:说实话,我当时在第一次看到这道题还真没想到会用动态规划来做,因为我原来一直是那种求最优解的时候才会想到用动态规划,看来还是我做题太少了,但是要是能想到用动原创 2021-04-10 12:43:17 · 730 阅读 · 0 评论 -
蓝桥杯大赛— —每日一题(7、最优包含)
【问题描述】 本题总分:15 分我们称一个字符串 S 包含字符串 T 是指 T 是 S 的一个子序列,即可以从字符串 S 中抽出若干个字符,它们按原来的顺序组合成一个新的字符串与 T 完全一样。给定两个字符串 S 和 T,请问最少修改 S 中的多少个字符,能使 S 包含T ?【输入格式】输入两行,每行一个字符串。第一行的字符串为 S,第二行的字符串为 T。两个字符串均非空而且只包含大写英文字母。【输出格式】输出一个整数,表示答案。【样例输入】ABCDEABCDXAABZ【样例输出原创 2021-03-31 18:14:59 · 2091 阅读 · 0 评论 -
蓝桥杯大赛— —每日一题(6、走方格)
【问题描述】在一个排列中,一个折点是指排列中的一个元素,它同时小于两边的元素,或者同时大于两边的元素。对于一个 1 ∼ n 的排列,如果可以将这个排列中包含 t 个折点,则它称为一个 t + 1 单调序列。例如,排列 (1, 4, 2, 3) 是一个 3 单调序列,其中 4 和 2 都是折点。给定 n 和 k,请问 1 ∼ n 的所有排列中有多少个 k 单调队列?【输入格式】输入一行包含两个整数 n, k。【输出格式】输出一个整数,表示答案。答案可能很大,你可需要输出满足条件的排列数量原创 2021-03-29 12:36:38 · 466 阅读 · 0 评论 -
蓝桥杯大赛— —每日一题(5、完全二叉树的权值)
问题描述给定一棵包含 N 个节点的完全二叉树,树上每个节点都有一个权值,按从 上到下、从左到右的顺序依次是 A1, A2, ··· AN,如下图所示:现在小明要把相同深度的节点的权值加在一起,他想知道哪个深度的节点 权值之和最大?如果有多个深度的权值和同为最大,请你输出其中最小的深度。注:根的深度是 1。输入:第一行包含一个整数 N。第二行包含 N 个整数 A1, A2, ··· AN 。输出:输出一个整数代表答案【评测用例规模与约定】对于所有评测用例,1 ≤ N ≤ 100000,−原创 2021-03-24 18:12:50 · 408 阅读 · 0 评论 -
蓝桥杯大赛— —每日一题(4、翻硬币)
资源限制时间限制:1.0s 内存限制:256.0MB问题描述作物杂交是作物栽培中重要的一步。已知有 种作物(编号 至 ),第 种作物从播种到成熟的时间为 。作物之间两两可以进行杂交,杂交时间取两种中时间较长的一方。如作物 种植时间为 天,作物 种植时间为 天,则 杂交花费的时间为 天。作物杂交会产生固定的作物,新产生的作物仍然属于 种作物中的一种。初始时,拥有其中 种作物的种子(数量无限,可以支持多次杂交)。同时可以进行多个杂交过程。求问对于给定的目标种子,最少需要原创 2021-03-23 17:17:41 · 361 阅读 · 0 评论 -
蓝桥杯大赛— —每日一题(3、K倍区间)
【问题描述】给定一个长度为N的数列,A1, A2, … AN,如果其中一段连续的子序列Ai, Ai+1, … Aj(i <= j)之和是K的倍数,我们就称这个区间[i, j]是K倍区间。 你能求出数列中总共有多少个K倍区间吗?输入格式 第一行包含两个整数N和K。(1 <= N, K <= 100000) 以下N行每行包含一个整数Ai。(1 <= Ai <= 100000)输出格式 输出一个整数,代表K倍区间的数目。样例输入5 212345样原创 2021-03-22 23:01:23 · 325 阅读 · 0 评论 -
蓝桥杯大赛— —每日一题(2、子串分值和)
我的思路 :在做这道题之前我因为做过和这类似的子串分值所以感觉起来要容易很多。对于这道题首先想到的是吧每个子串列出来然后对各个子串进行计算看它有多少个不同的字符,本来计算它有多少个不同的字符相对来说是这道题的主要难点(我感觉的),但是为毛要是学过C++中STL的set模板就会很简单(蓝桥杯明确指出可以用C++中STL标准模板库),因为set容器中本来就不容许有重复的元素,有重复的都算一个set容器用法。所以只要把所有的子串放到set容器中用size()算出它的大小,再把它们相加就可以得出结果。这种.原创 2021-03-17 20:26:19 · 733 阅读 · 5 评论 -
蓝桥杯大赛— —每日一题(1、子串分值)
【问题描述】对于一个字符串S,我们定义S的分值f(S)为S中恰好出现一次的字符个数。例如f(“aba”) =1,f(“abc”)= 3, f(“aaa”) =0。现在给定一个字符串S 0…n - 1,请你计算对于所有S的非空子串S[i…j](0≤is j <n),f(S[i…j])的和是多少。【输入格式】输入一行包含一个由小写字母组成的字符串S。【输出格式】输出一个整数表示答案。【样例输入】ababc【样例输出】21自我见解:...原创 2021-03-17 19:12:58 · 2503 阅读 · 12 评论