- 博客(154)
- 收藏
- 关注
原创 最长子序列 | 第十届蓝桥杯国赛C++C组
我们称一个字符串 SS 包含字符串 TT 是指 TT 是 SS 的一个子序列,即可以从字符串 SS 中抽出若干个字符,它们按原来的顺序组合成一个新的字符串与 TT 完全一样。给定两个字符串 SS 和 TT,请问 TT 中从第一个字符开始最长连续多少个字符被 SS 包含?
2025-04-05 11:40:13
76
原创 求阶乘 | 第十三届蓝桥杯省赛JavaB组
满足 N!N!的末尾恰好有 KK 个 00 的最小的 NN 是多少?如果这样的 NN 不存在输出 −1−1。
2025-04-04 11:20:23
391
原创 团建 | 第十五届蓝桥杯省赛C++A组
小蓝正在和朋友们团建,有一个游戏项目需要两人合作,两个人分别拿到一棵大小为 n 和 m 的树,树上的每个结点上有一个正整数权值。两个人需要从各自树的根结点 1 出发走向某个叶结点,从根到这个叶结点的路径上经过的所有结点上的权值构成了一个正整数序列,两人的序列的最长公共前缀即为他们的得分。给出两棵树,请计算两个人最多的得分是多少。
2025-04-03 15:03:40
267
原创 训练士兵 | 第十五届蓝桥杯省赛C++A组
在蓝桥王国中,有 nn 名士兵,这些士兵需要接受一系列特殊的训练,以提升他们的战斗技能。对于第 ii 名士兵来说,进行一次训练所需的成本为 pipi 枚金币,而要想成为顶尖战士,他至少需要进行 cici 次训练。为了确保训练的高效性,王国推出了一种组团训练的方案。该方案包含每位士兵所需的一次训练,且总共只需支付 SS 枚金币(组团训练方案可以多次购买,即士兵可以进行多次组团训练)。作为训练指挥官,请你计算出最少需要花费多少金币,才能使得所有的士兵都成为顶尖战士?
2025-04-03 14:01:11
132
原创 包子凑数 | 第八届蓝桥杯省赛C++B组
每当有顾客想买 X 个包子,卖包子的大叔就会迅速选出若干笼包子来,使得这若干笼中恰好一共有 X 个包子。当顾客想买 1 个包子时,大叔就会选 2 笼 3 个的再加 1 笼 5 个的(也可能选出 1 笼 3 个的再加 2 笼 4 个的)。相当于有n张钞票,你能付多少的钱,使用动态规划,dp[i]=min(dp[i-x1],dp[i-x2],...,dp[i-xn])其中x为拥有的笼屉的容量。他发现这家包子铺有 N 种蒸笼,其中第 i 种蒸笼恰好能放 Ai 个包子。如果凑不出的数目有无限多个,输出 INF。
2025-03-31 19:13:32
568
原创 01串的熵
xn,香农信息熵的定义为 H(S)= −Σ1np(xi)log2(p(xi)),其中 p(0),p(1) 表示在这个 01 串中 0 和 1 出现的占比。对于一个长度为 23333333 的 01 串, 如果其信息熵为 11625907.5798, 且 0 出现次数比 1 少, 那么这个 01 串中 0 出现了多少次?比如,对于 S=100S=100 来说,信息熵 H(S)=−13log2(13)−23log2(23)−23log2(23)=1.3083。即C=Blog2(1+N/S)
2025-03-31 17:29:49
262
原创 日期统计 | 第十五届蓝桥杯省赛C++B组
使用DFS遍历数组,当遇到要求前四位是2023,第五位可以是0或一,当遇到第六位就判断月份合法性,日期也是相同的方法判断,最后进set去重,看了题解好多方法都只是针对这道题的,这里给个通解。小蓝现在有一个长度为 100100 的数组,数组中的每个元素的值都在 00 到 99 的范围之内。垃圾蓝桥云客,题解限字2000还一直提示涉及色情恐怖要素,绷。的 2023 年的日期。对于相同的日期你只需要统计一次即可。请你帮小蓝计算下按上述条件一共能找到多少个。
2025-03-31 17:10:15
374
原创 穿越雷区 | 第六届蓝桥杯国赛C++A组
X星的坦克战车很奇怪,它必须交替地穿越正能量辐射区和负能量辐射区才能保持正常运转,否则将报废。某坦克需要从 A 区到 B 区去(A,B 区本身是安全区,没有正能量或负能量特征),怎样走才能路径最短?已知的地图是一个方阵,上面用字母标出了 A,B 区,其它区都标了正号或负号分别表示正负能量辐射区。坦克车只能水平或垂直方向上移动到相邻的区。
2025-03-30 14:15:29
206
原创 奇怪的数列 | 第六届蓝桥杯国赛JavaC组
Y 博士经彻夜研究,发现了规律:第一行的数字随便是什么,以后每一行都是对上一行“读出来”。比如第 2 行,是对第 1 行的描述,意思是:1 个 1,1 个 3,所以是:1113。第 3行,意思是:3 个 1,1 个 3,所以是:3113。请你编写一个程序,可以从初始数字开始,连续进行这样的变换。
2025-03-30 13:12:23
192
原创 密文搜索 | 第六届蓝桥杯国赛C++B组
福尔摩斯从 X 星收到一份资料,全部是小写字母组成。他的助手提供了另一份资料:许多长度为 8 的密码列表。福尔摩斯发现,这些密码是被打乱后隐藏在先前那份资料中的。请你编写一个程序,从第一份资料中搜索可能隐藏密码的位置。要考虑密码的所有排列可能性。
2025-03-29 12:27:11
363
原创 合并石子 | 第十四届蓝桥杯省赛JavaB组
在桌面从左至右横向摆放着 N 堆石子。每一堆石子都有着相同的颜色,颜色可能是颜色 0,颜色 1 或者颜色 2 中的其中一种。现在要对石子进行合并,规定每次只能选择位置相邻并且颜色相同的两堆石子进行合并。合并后新堆的相对位置保持不变,新堆的石子数目为所选择的两堆石子数目之和,并且新堆石子的颜色也会发生循环式的变化。具体来说:两堆颜色 0 的石子合并后的石子堆为颜色 1,两堆颜色 1 的石子合并后的石子堆为颜色 2,两堆颜色 2 的石子合并后的石子堆为颜色 0。
2025-03-29 11:36:26
284
原创 解密游戏 | 第十届蓝桥杯国赛C++B组
小明正在玩一款解谜游戏。谜题由 24 根塑料棒组成,其中黄色塑料棒 4根,红色 8 根,绿色 12 根 (后面用 Y 表示黄色、R表示红色、G 表示绿色)。初始时这些塑料棒排成三圈,如上图所示,外圈 12 根,中圈 8根,内圈 4 根。RGRGGRRYGGGRYRGRGGRRRGGGRGRGGRRYGGGRGRGGRRYRGGRGRGRGGRRYGGGRGGRGGRRYYGGR小明的目标是把所有绿色移动到外圈、所有红色移动中圈、所有黄色移动到内圈。给定初始状态,请你判断小明是否可以达成目标?
2025-03-28 17:19:20
998
原创 多数意见 | 贪心
农夫约翰有一项重要的任务——弄清楚要为他的奶牛们购买什么类型的干草。农夫约翰的 N� 头奶牛编号为 11 到 N�,每头奶牛喜欢恰好一种类型的干草 hiℎ�。他希望他的所有奶牛都喜欢同一种干草。为了实现这一目标,农夫约翰可以主持焦点小组访谈。每一次焦点小组访谈,约翰都可以自由选择任意多个的奶牛构成访谈小组,共同参加访谈。如果有一种干草是小组中超过一半的奶牛喜欢的,则此次焦点小组访谈结束后,组内所有奶牛最终都会喜欢这种干草。如果不存在这样的干草,那么奶牛们就不会改变她们喜欢的干草类型。
2025-03-28 15:58:43
254
原创 付账问题 | 第9届蓝桥杯省赛C++A组
几个人一起出去吃饭是常有的事。但在结帐的时候,常常会出现一些争执。现在有 n个人出去吃饭,他们总共消费了 S 元。其中第 i 个人带了 ai元。幸运的是,所有人带的钱的总数是足够付账的,但现在问题来了:每个人分别要出多少钱呢?为了公平起见,我们希望在总付钱量恰好为 S 的前提下,最后每个人付的钱的标准差最小。这里我们约定,每个人支付的钱数可以是任意非负实数,即可以不是 11 分钱的整数倍。你需要输出最小的标准差是多少。
2025-03-27 14:18:11
800
原创 等差数列 | 第十届蓝桥杯省赛C++B组
数学老师给小明出了一道等差数列求和的题目。但是粗心的小明忘记了一部分的数列,只记得其中 N 个整数。现在给出这 N 个整数,小明想知道包含这 N 个整数的最短的等差数列有几项?
2025-03-27 13:40:23
234
原创 正则问题 | 第八届蓝桥杯省赛C++A组
考虑一种简单的正则表达式:只由 x ( ) | 组成的正则表达式。小明想求出这个正则表达式能接受的最长字符串的长度。例如 ((xx|xxx)x|(x|xx))xx 能接受的最长字符串是: xxxxxx,长度是6。
2025-03-26 20:09:50
374
原创 回文数组 | 第十五届蓝桥杯省赛C++C组
小蓝在无聊时随机生成了一个长度为 nn 的整数数组,数组中的第 ii 个数为 aiai,他觉得随机生成的数组不太美观,想把它变成回文数组,也是就对于任意 i∈[1,n]i∈[1,n] 满足 ai=an−i+1ai=an−i+1。小蓝一次操作可以指定相邻的两个数,将它们一起加 11 或减 11;也可以只指定一个数加 11 或减 11,请问他最少需要操作多少次能把这个数组变成回文数组?
2025-03-26 18:44:22
350
原创 航班时间 | 第九届蓝桥杯省赛C++A组
小 h 前往美国参加了蓝桥杯国际赛。小 h 的女朋友发现小 h 上午十点出发,上午十二点到达美国,于是感叹到“现在飞机飞得真快,两小时就能到美国了”。小 hh 对超音速飞行感到十分恐惧。仔细观察后发现飞机的起降时间都是当地时间。由于北京和美国东部有 12 小时时差,故飞机总共需要 14 小时的飞行时间。不久后小 h 的女朋友去中东交换。小 h 并不知道中东与北京的时差。但是小 h 得到了女朋友来回航班的起降时间。小 h 想知道女朋友的航班飞行时间是多少。
2025-03-25 19:21:17
303
原创 后缀表达式 | 第十届蓝桥杯省赛C++B组
给定 N 个加号、M 个减号以及 N+M+1 个整数 A1,A2,···,AN+M+1,小明想知道在所有由这 N 个加号、M 个减号以及 N+M+1 个整数凑出的合法的后缀表达式中,结果最大的是哪一个?请你输出这个最大的结果。例如使用 123+−,则 “23+1−” 这个后缀表达式结果是 4,是最大的。
2025-03-25 13:37:28
396
原创 糖果 | 第十届蓝桥杯省赛C++A组
糖果店的老板一共有 M 种口味的糖果出售。为了方便描述,我们将 M 种口味编号 1∼M。小明希望能品尝到所有口味的糖果。遗憾的是老板并不单独出售糖果,而是 K 颗一包整包出售。幸好糖果包装上注明了其中 K 颗糖果的口味,所以小明可以在买之前就知道每包内的糖果口味。给定 N 包糖果,请你计算小明最少买几包,就可以品尝到所有口味的糖果。
2025-03-24 16:22:09
166
原创 螺旋折线 | 第九届蓝桥杯省赛C++B组
如下图所示的螺旋折线经过平面上所有整点恰好一次。对于整点 (X,Y),我们定义它到原点的距离 dis(X,Y) 是从原点到 (X,Y) 的螺旋折线段的长度。例如 dis(0,1)=3,dis(−2,−1)=9给出整点坐标 (X,Y),你能计算出 dis(X,Y) 吗?
2025-03-23 11:04:21
352
原创 小R的排列挑战
将奇数和偶数分别进入一个数组,发现,如果从下标1开始计数,则偶数数列中,a[i]/2必定等于自己的下标,奇数数列则是(a[i]+1)/2。发现,如果原数组从0下标开始,则偶数下标必须是奇数,奇数下标必定是偶数,如果奇偶混合,则必定不能排成,返回-1。分别遍历两个数组,遇到和自己下标不匹配的数,就交换位置,并且重新检测当前位置(防止出现一次交换后仍然不匹配)。请你帮小R计算,最少需要多少次操作才能使得数组有序。如果不能通过这样的操作使数组有序,则输出。进行交换,前提是这两个数的下标。的排列,排列中的数字是。
2025-03-23 10:10:14
238
原创 日志统计 | 第九届蓝桥杯省赛C++B组
小明维护着一个程序员论坛。ts id表示在 ts 时刻编号 id 的帖子收到一个”赞”。现在小明想统计有哪些帖子曾经是”热帖”。如果一个帖子曾在任意一个长度为 D 的时间段内收到不少于 K 个赞,小明就认为这个帖子曾是”热帖”。具体来说,如果存在某个时刻 TT 满足该帖在 [T,T+D) 这段时间内(注意是左闭右开区间)收到不少于 K 个赞,该帖就曾是”热帖”。给定日志,请你帮助小明统计出所有曾是”热帖”的帖子编号。
2025-03-22 13:40:16
170
原创 青蛙过河 | 第十三届蓝桥杯省赛C++A组
小青蛙住在一条河边,它想到河对岸的学校去学习。小青蛙打算经过河里的石头跳到对岸。河里的石头排成了一条直线,小青蛙每次跳跃必须落在一块石头或者岸上。不过,每块石头有一个高度,每次小青蛙从一块石头起跳,这块石头的高度就会下降 1,当石头的高度下降到 0 时小青蛙不能再跳到这块石头上(某次跳跃后使石头高度下降到 0 是允许的)。小青蛙一共需要去学校上 x 天课,所以它需要往返 2x 次。当小青蛙具有一个跳跃能力 y 时,它能跳不超过 y 的距离。
2025-03-22 11:48:47
249
原创 波动数列 | 动态规划
观察这个数列:这个数列中后一项总是比前一项增加2或者减少3,。栋栋对这种数列很好奇,他想知道长度为 nn 和为 ss 而且后一项总是比前一项增加 aa 或者减少 bb 的整数数列可能有多少种呢?
2025-03-20 16:16:11
326
原创 查找热点数据问题 | 数据结构
给你一个整数数组 nums 和一个整数 k ,请你返回其中出现频率前 k 高的元素。你可以按任意顺序返回答案。你所设计算法的时间复杂度必须优于 O(n log n) ,其中 n 是数组大小。输入: nums = [1,1,1,2,2,3], k = 2输出: [1,2]输入: nums = [1], k = 1输出: [1]
2025-03-20 14:28:18
628
原创 神奇字符串构造问题
于是从第i位开始往后遍历,当遇到重复的就cnt++,遇到不相同的就cut++,当重复的字符个数到达3个时,就推出循环,记录当前的j值。最后的结构就应该像样例3里的一样,每3个相同的连在一起。于是使用动态规划,DP[i]代表第i个字符是结尾时的最少需要切割的次数。其中cnt记录了重复的个数用来判断推出条件,cut记录切除的字符的个数,而DP[j-1]则是前面得到神奇字符串最小需要的次数。小M有一个字符串,他希望通过删除最少的字符将其转化为一个“神奇字符串”。注意:需提前DP[i]=DP[i-1]+1。
2025-03-19 19:19:19
532
原创 删除路径后最短路径问题
小F正在探索一个有n个点的地图,其中每个点都有对应的二维坐标 (xi,yi)。起点是第s个点,终点是第t个点,原本所有点之间都有一条线段,表示可以通行,并且长度为欧几里得距离。但是由于某些意外,起点s和终点t之间的直接通行路径被删除了。小F希望你帮忙计算从s到t的最短路径,允许经过其他点,但不能直接通过删除的那条线。每两个点之间就有一条路,所以,当s和t之间的路断开,我们只要走到除去s和t点之外的一点再走到t点就可以了。你需要输出从起点s到终点t的最短距离,结果需要四舍五入到小数点后两位。
2025-03-19 13:11:48
325
原创 小Q的奇偶操作数组 | 贪心
简单的贪心问题,只要每次操作最小的一位进行乘法就可以 了。小Q想知道,经过 k 次操作后,数组的元素之和最小可以是多少。
2025-03-18 15:40:04
165
原创 耐摔指数 | 第九届蓝桥杯省赛C++C组
xx 星球的居民脾气不太好,但好在他们生气的时候唯一的异常举动是:摔手机。各大厂商也就纷纷推出各种耐摔型手机。xx 星球的质监局规定了手机必须经过耐摔测试,并且评定出一个耐摔指数来,之后才允许上市流通。xx 星球有很多高耸入云的高塔,刚好可以用来做耐摔测试。塔的每一层高度都是一样的,与地球上稍有不同的是,他们的第一层不是地面,而是相当于我们的 22 楼。如果手机从第 77 层扔下去没摔坏,但第 88 层摔坏了,则手机耐摔指数 =7=7。
2025-03-17 19:49:21
422
原创 小C的最短服务时间优先磁盘调度
这个算法的关键在于每次磁头服务完一个请求后,会选择当前距离最近的未处理请求。如果有多个距离相等的请求,优先选择磁道号较小的那个。磁头会在没有请求时停止,直到新的请求到达。你的任务是计算磁头在SSTF调度算法下,总共移动的磁道数。首先是等待,等待第一个进来的请求,(注意这里可能同时进来多个请求,所以要更新时间重新判断,代码里的continue就是这个用处)。接着是判断时间内最近通道的请求,因为预处理了进入时间,只要循环一下判断就可以找到最近的通道任务。最后更新时间,通道数,当前通道,完成请求的个数即可。
2025-03-17 16:04:25
207
原创 二进制矩阵全零转换问题 | DFS
有一种更方便的方法,但是在时间上似乎不那么占优,先通过DFS生成随机1,0的长度为m*n的字符串,然后根据字符串的10,如果是1就翻转,如果是0就不翻,也不用每一位去异或,直接在对应位置+1代表翻转次数,最后遍历,如果是偶数就是0,奇数就是1即可。所以直接DFS遍历每个格子,每次都有翻和不翻两个情况,最后判断翻转次数即可。在这个矩阵中,他们可以对任意一个电路单元进行翻转操作。很经典的一道题,原题叫棋盘覆盖问题,关键在于。在一个古老的实验室里,两个研究员,小星和小月,获得了一个。的电路图,表示为二进制矩阵。
2025-03-16 09:52:08
312
原创 宝石组合 | 第十五届蓝桥杯省赛C++B组
在一个神秘的森林里,住着一个小精灵名叫小蓝。有一天,他偶然发现了一个隐藏在树洞里的宝藏,里面装满了闪烁着美丽光芒的宝石。这些宝石都有着不同的颜色和形状,但最引人注目的是它们各自独特的 “闪亮度” 属性。每颗宝石都有一个与生俱来的特殊能力,可以发出不同强度的闪光。小蓝共找到了 NN 枚宝石,第 ii 枚宝石的 “闪亮度” 属性值为 HiHi,小蓝将会从这 NN 枚宝石中选出三枚进行组合,组合之后的精美程度 SS 可以用以下公式来衡量:其中 LCMLCM 表示的是最小公倍数函数。
2025-03-13 20:04:28
451
原创 R格式 | 第十五届蓝桥杯C++B组
小蓝最近在研究一种浮点数的表示方法:RR 格式。对于一个大于 00 的浮点数 dd,可以用 RR 格式的整数来表示。
2025-03-13 14:47:55
635
2
原创 好数 | 第十五届蓝桥杯C++B组
一个整数如果按从低位到高位的顺序,奇数位(个位、百位、万位 ⋯ )上的数字是奇数,偶数位(十位、千位、十万位 ⋯ )上的数字是偶数,我们就称之为 “好数”。给定一个正整数 NN,请计算从 11 到 NN 一共有多少个好数。
2025-03-13 13:41:32
601
原创 岛屿个数 | 第十四届蓝桥杯省赛C++B组
小蓝得到了一副大小为 M×NM×N 的格子地图,可以将其视作一个只包含字符0(代表海水)和1(代表陆地)的二维数组,地图之外可以视作全部是海水,每个岛屿由在上/下/左/右四个方向上相邻的1相连接而形成。
2025-03-11 16:44:33
365
原创 接龙数列 | 第十四届蓝桥杯省赛C++B组
对于一个长度为 KK 的整数数列:A1,A2,...,AKA1,A2,...,AK,我们称之为接龙数列当且仅当 AiAi 的首位数字恰好等于 Ai−1Ai−1 的末位数字 (2≤i≤K2≤i≤K)。例如 12,23,35,56,61,1112,23,35,56,61,11 是接龙数列;12,23,34,5612,23,34,56 不是接龙数列,因为 5656 的首位数字不等于 3434 的末位数字。所有长度为 11 的整数数列都是接龙数列。
2025-03-11 14:40:03
331
原创 飞机降落 | 第十四届蓝桥杯省赛C++B组
有 NN 架飞机准备降落到某个只有一条跑道的机场。其中第 ii 架飞机在 TiTi 时刻到达机场上空,到达时它的剩余油料还可以继续盘旋 DiDi 个单位时间,即它最早可以于 TiTi 时刻开始降落,最晚可以于 Ti+DiTi+Di 时刻开始降落。降落过程需要 LiLi 个单位时间。一架飞机降落完毕时,另一架飞机可以立即在同一时刻开始降落,但是不能在前一架飞机完成降落前开始降落。请你判断 NN 架飞机是否可以全部安全降落。
2025-03-11 13:32:45
228
原创 冶炼金属 | 第十四届蓝桥杯省赛C++B组
小蓝有一个神奇的炉子用于将普通金属 OO 冶炼成为一种特殊金属 XX。这个炉子有一个称作转换率的属性 VV,VV 是一个正整数,这意味着消耗 VV 个普通金属 OO 恰好可以冶炼出一个特殊金属 XX,当普通金属 OO 的数目不足 VV 时,无法继续冶炼。现在给出了 NN 条冶炼记录,每条记录中包含两个整数 AA 和 BB,这表示本次投入了 AA 个普通金属 OO,最终冶炼出了 BB 个特殊金属 XX。每条记录都是独立的,这意味着上一次没消耗完的普通金属 OO 不会累加到下一次的冶炼当中。
2025-03-11 12:44:32
328
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人