蓝桥杯
文章平均质量分 58
瓜是西瓜的瓜
这个人不懒,但还是什么都没有写。
展开
-
【蓝桥杯】历届真题 轨道炮(决赛)Java
其中第i个单位在0时刻的位置是(Xi,Y),方向是 Di(上下左右之一,用'U'/'D'/L'/'R’表示),速度是Vi。小明可以选择在某个非负整数时刻释放轨道炮,轨道炮一次可以消灭在一条直线(平行于坐标轴)上的所有敌方单位。对于所有评测用例,1≤N ≤1000,-1000000 ≤ Xi,Yi ≤1000000,0 ≤ Vi≤1000000。内存限制:256.0MB C/C++时间限制:1.0s Java时间限制:3.0s Python时间限制:5.0s。【评测用例规模与约定】原创 2023-02-05 00:30:16 · 253 阅读 · 0 评论 -
【蓝桥杯】历届真题 等差数列(省赛)Java
内存限制:256.0MB C/C++时间限制:1.0s Java时间限制:3.0s Python时间限制:5.0s。而后根据等差数列的求和公式(an=a1+(n-1)*d)的变式(n= (an-a1)/d+1)进行计算。但是粗心的小明忘记了一部分的数列,只记得其中N个整数。包含2、6、4、10、20的最短的等差数列是2、4、6、8、10、12、14、16、18、20。现在给出这N个整数,小明想知道包含这N个整数的最短的等差数列有几项?因此,最先进行的操作是对于获取的数组元素进行排序。原创 2023-02-04 09:00:00 · 571 阅读 · 0 评论 -
【蓝桥杯】历届真题 完全二叉树的权值(省赛)Java
现在小明要把相同深度的节点的权值加在一起,他想知道哪个深度的节点权值之和最大?5.获取到相应的成组的元素相加的和后,再进行相应大小的比较,确定最大的元素同时也确定了最终的结果,进行+1操作后即为答案。3.对元素进行分割,利用ArrayList进行相应的成组元素的获取,(ArrayList不会受到数组元素长度的限制)4.将成组的元素放进list中的同时,对list中的元素进行相加,并存入到新的数组 sum 中去。2.确定录入的元素需要多少个数组分别进行添加,(这里用到了高中的等比数列的和公式)原创 2023-02-03 09:00:00 · 547 阅读 · 0 评论 -
【蓝桥杯】历届真题 数字三角形(省赛)Java
上图给出了一个数字三角形。从三角形的顶部到底部有很多条不同的路径。对于每条路径,把路径上面的数加起来可以得到一个和,你的任务就是找到最大的和。路径上的每一步只能从一个数走到下一层和它最近的左边的那个数或者右边的那个数。此外,向左下走的次数与向右下走的次数相差不能超过 1。【输入格式】输入的第一行包含一个整数n (1原创 2023-02-02 09:00:00 · 326 阅读 · 0 评论 -
【蓝桥杯】历届试题 成绩统计(省赛)Java
在检查代码后,发现问题出现在:" / " 运算符必须要求两边的数据类型要一致才可以,不然就会出现运行性错误。这个故事告诉我们,一定不能忽视哪怕一点微小的错误,不然就会和该拿的分数失之交臂。小蓝给学生们组织了一场考试,卷面总分为 100 分,每个学生的得分都是一个 0 到 100 的整数。接下来 n 行,每行包含一个 0 至 100 的整数,表示一个学生的得分。我犯了一个很低级的错误,导致我在思路正确的情况下好几次出现运行错误的情况。请计算及格率和优秀率,用百分数表示,百分号前的部分四舍五入保留整数。原创 2023-02-01 09:00:00 · 530 阅读 · 0 评论 -
【蓝桥杯】历届试题 单词分析(省赛)Java
小蓝正在学习一门神奇的语言,这门语言中的单词都是由小写英文字母组成,有些单词很长,远远超过正常英文单词的长度。小蓝学了很长时间也记不住一些单词,他准备不再完全记忆这些单词,而是根据单词中哪个字母出现得最多来分辨单词。输出两行,第一行包含一个英文字母,表示单词中出现得最多的字母是哪个。内存限制:256.0MB C/C++时间限制:1.0s Java时间限制:3.0s Python时间限制:5.0s。现在,请你帮助小蓝,给了一个单词后,帮助他找到出现最多的字母和这个字母出现的次数。原创 2023-01-31 09:00:00 · 76 阅读 · 0 评论 -
【蓝桥杯】历届真题 答疑(决赛)Java
对于所有评测用例,1 ≤ n ≤ 1000,1 ≤ s i ≤ 60000,1 ≤ a i ≤ 1000000 ,按照 1 , 3 , 2 的顺序答疑,发消息的时间分别是 20000 , 80000 , 180000。老师想合理的安排答疑的顺序,使得同学们在课程群里面发消息的时刻之和最小。3.答疑完成后,同学很高兴,会在课程群里面发一条消息,需要的时间可以忽略。2.然后同学问问题老师解答,编号为 i 的同学需要 ai 毫秒的时间。1.首先进入办公室,编号为 i 的同学需要 si 毫秒的时间。原创 2023-01-30 14:21:48 · 821 阅读 · 0 评论 -
【蓝桥杯】历届真题 成绩分析(省赛)Java
【问题描述】小蓝给学生们组织了一场考试,卷面总分为100分,每个学生的得分都是一个0到100的整数。请计算这次考试的最高分、最低分和平均分。【输入格式】输入的第一行包含一个整数n,表示考试人数。接下来n行,每行包含一个О至100的整数,表示一个学生的得分。【输出格式】输出三行。第一行包含一个整数,表示最高分。第二行包含一个整数,表示最低分。第原创 2023-01-29 22:51:31 · 471 阅读 · 0 评论 -
【蓝桥杯】历届真题 回文日期(省赛)Java
也有人表示20200202并不仅仅是一个回文日期,还是一个ABABBABA型的回文日期。我们称这样的日期是回文日期。需要注意的是,日期不单是要求日期小于等于31天,月份小于等于31日,在月份上还有闰年2月份30天,平年29天的区别。但是,它和一般意义上的回文数还是略有区别,毕竟题中要求的不是数字,而是日期。给定一个8位数的日期,请你计算该日期之后下一个回文日期和下一个ABABBABA 型的回文日期各是哪一天。输出两行,每行1个八位数。第一行表示下一个回文日期,第二行表示下一个ABABBABA型的回文日期。原创 2023-01-28 17:19:23 · 481 阅读 · 0 评论 -
【蓝桥杯】历届真题 游园安排(决赛)Java
作为小蓝的助手,你要按照小蓝的想法安排游客,同时你又希望上午有尽量多的游客游玩,请告诉小蓝让哪些游客上午游玩。一个名字A小于另一个名字B是指:存在一个整数i,使得A 的前i个字母与B的前i个字母相同,且A 的第i+1个字母小于B的第i+1个字母。今天,他决定在所有预约的游客中,选择一部分游客在上午游玩,其他的游客都在下午游玩,在上午游玩的游客要求按照预约的顺序排列后,名字是单调递增的,即排在前面的名字严格小于排在后面的名字。简单地说,它就是要让该子序列中的每一个字符一定大于它左边的字符,并小于右边的字符。原创 2023-01-27 23:56:34 · 317 阅读 · 0 评论 -
【蓝桥杯】历届真题 画廊(决赛)Java
小蓝从起点开始,首先到达左边第一幅作品(走动距离√2),然后到达左边第二幅作品(走动距离2),然后到达右边第一幅作品〈走动距离√5>,然后到达右边第二幅和第三幅作品〈走动距离2和2),然后到达左边第三幅作品(走动距离2v2),最后到达画廊终点(走动距离 √5)。在画廊的左边陈列了 L 幅作品,在画廊的右边陈列了 R 幅作品,左边的作品距离画廊的起点依次为 u_1, u_2, · · · , u_L,右边的作品距离画廊起点依次为 v_1, v_2, · · · ,v_R。已知画廊的宽为 w。原创 2023-01-26 20:25:50 · 453 阅读 · 0 评论 -
【蓝桥杯】历届真题 子串分值和(省赛)Java
原理就是创建一个新的衡量标准,该标准只有在该字母出现且只出现一次的情况下进行+1,我们将它称为“贡献度”。现在给定一个字符串 S[0..n − 1](长度为 n),请你计算对于所有 S 的非空子串 S[i..j](0 ≤ i ≤ j < n),f(S[i..j])的和是多少。比如说,从字母a的两边出发,分别计算左右两边要“走”多远才能遇到重复,此时停止遍历,并记录下左、右步数。例如 f("aba") = 1,f("abc") = 3, f("aaa") = 0。对于60%的评测用例,1≤n ≤10000;原创 2023-01-25 13:47:19 · 1562 阅读 · 1 评论 -
【蓝桥杯】历届真题 作物杂交(省赛)Java
输入的第1行包含4个整数N,M,K,T,N表示作物种类总数(编号1至N),M表示初始拥有的作物种子类型数量,K表示可以杂交的方案数,T表示目标种子的编号。第4至K+3行,每行包含3个整数A,B,C,表示第A类作物和第B类作物杂交可以获得第C类作物的种子。第6天至第10天,将编号1与编号3的作物杂交,得到编号4的作物种子。第1天至第5天,将编号1与编号2的作物杂交,得到编号3的作物种子。第6天至第9天,将编号2与编号3的作物杂交,得到编号5的作物种子。第1天到第7天(作物B的时间),Ax B→ C。原创 2023-01-24 09:00:00 · 1276 阅读 · 0 评论 -
【蓝桥杯】历届真题 质数行者(决赛)Java
对于所有评测用例,1 ≤ n, m, w ≤ 1000,1 ≤ r 1 , r 2 ≤ n, 1 ≤ c 1 , c 2 ≤ m, 1 ≤ h 1 , h 2 ≤ w,陷阱不在起点或终点,两个陷阱不同。游戏在一个 n × m × w 的立体方格图上进行,从北到南依次标号为第 1 行到第 n 行,从西到东依次标号为第 1 列到第 m 列,从下到上依次标号为第 1 层到第 w 层。那么如何进行优化呢?第二行包含 6 个整数,r 1 , c 1 , h 1 , r 2 , c 2 , h 2 ,表示陷阱的位置。原创 2023-01-23 20:37:36 · 1949 阅读 · 0 评论 -
【蓝桥杯】历届真题 蓝肽子序列(决赛) Java
在一条蓝肽序列中,如果选取其中的一些位置,把这些位置的蓝肽取出,并按照它们在原序列中的位置摆放,则称为这条蓝肽的一个子序列。蓝肽的子序列不一定在原序列中是连续的,中间可能间隔着一些未被取出的蓝肽。她拿到两个蛋蓝质的蓝肽序列,想通过这两条蓝肽序列的共同特点来分析两种蛋蓝质的相似性。如果第一条蓝肽序列可以取出一个子序列与第二条蓝肽序列中取出的某个子序列相等,则称为一个公共蓝肽子序列。给定两条蓝肽序列,找出他们最长的那个公共蓝肽子序列的长度。输出一个整数,表示最长的那个公共蓝肽子序列的长度。原创 2023-01-22 09:00:00 · 782 阅读 · 2 评论 -
【蓝桥杯】历届真题 天干地支(决赛)Java
该题没有多少弯弯绕绕,基本上第一眼看过去就有思路。我的两个解题思路分别为: 1. 直接通过题中所给的2020年所代表的天干地支纪年法作为基准值,在该基准上进行求解。 2. 通过题中所给的2020的天干地支来求出公元1年,也就是公元元年所代表的天干地支纪年法(经计算为:xinyou)而后将公元元年作为基准值求解。 两个思路大差不差,无非是在基准值的选取上略有区别。废话不多说,展示。原创 2023-01-21 09:00:00 · 1263 阅读 · 2 评论 -
【蓝桥杯】历届真题 重复字符串(省赛)Java
因此,我们只需要统计每一个字母序列中出现次数最多的字母出现的次数即可,记为max,那么用该列的长度k减去max,即为该列需要更改的次数。因此官方数据错误,不完整的循环节也输出了答案,例如 abcde 当 k 取 3 的时候,可以修改为 abc,这是不符合题意的。由此可知,只需要找到这一列中哪个字母数最多的,那么剩下的字母都改为该字母是操作最少的。因题中所说的是:如果s无法修改成k次重复字符串,输出-1,所以在最开始判断一下。如果一个字符串 S 恰好可以由某个字符串重复 K 次得到,我们就称 S 是。原创 2023-01-20 09:00:00 · 1485 阅读 · 0 评论 -
【蓝桥杯】历届真题 左hai子右兄弟(省赛)Java
对于一棵多叉树,我们可以通过 “左孩子右兄弟” 表示法,将其转化成一棵二叉树。如果我们认为每个结点的子结点是无序的,那么得到的二叉树可能不唯一。换句话说,每个结点可以选任意子结点作为左孩子,并按任意顺序连接右兄弟。给定一棵包含 N 个结点的多叉树,结点从 1 至 N 编号,其中 1 号结点是根,每个结点的父结点的编号比自己的编号小。请你计算其通过 “左孩子右兄弟” 表示法转化成的二叉树,高度最高是多少。注:只有根结点这一个结点的树高度为 0。原创 2023-01-19 09:00:00 · 1363 阅读 · 0 评论 -
【蓝桥杯】历届真题 分果果(省赛)Java
再如,小蓝现在有 5 包糖果,重量分别为 6, 1, 2, 7, 9,如果小蓝要分给五个小朋友,则他可以将第 4 包和第 5 包糖果再买一份,第一个小朋友分第 1 至 2 包重量为 7,第二个小朋友分第 3 至 4 包重量为 9,第三个小朋友分第 4 包重量为 7,第四个和第五个小朋友都分第 5 包重量为 9。例如,小蓝现在有 5 包糖果,重量分别为 6, 1, 2, 7, 9,如果小蓝要分给两个小朋友,则他可以将所有糖果再买一份,两个小朋友都分到 1 至 5 包糖果,重量都是 25,差为 0。原创 2023-01-18 09:00:00 · 1317 阅读 · 0 评论 -
【蓝桥杯】历届真题 砝码称重(省赛)Java
不难发现,该式子要想使得 arr[i-1][j-w[i]] 为 true,首先要让arr[0][0] 及 arr[i][0] 为 true,这样在 j-w[i]=0 时,arr[i-1][j-w[i]] 才能为 true。1、放在左边:arr[i][j] = arr[i-1][j-w[i]] (前i-1个砝码是否能称出j-当前砝码重量 j)2、放在右边:arr[i][j] = arr[i-1][j+w[i]](前i-1个砝码是否能称出j+当前砝码重量 j)对于50%的评测用例,1≤N≤15。原创 2023-01-17 09:00:00 · 978 阅读 · 0 评论 -
【蓝桥杯】历届真题 双向排序(省赛)Java
这道题初看很容易出思路,无非是调用sort方法进行排序,若是逆向就写一个比较器就完了。但当你费劲心思写出来自认为十分优化的代码信心满满地提交之后,问题就来了。要么超时,要么超内存,让人很是费解。此时,你再次将目光放到了题目中,发现了一个忽视了的可以极大优化的点,同样是制胜点:操作数分有效操作和无效操作!若你能够意识到这一点,那么这道题就已经通过一半了。首先,相同的操作间可以相互忽略,同样的操作,你只需要选择一个操作区间最大的操作即可。同样,操作区间相同,不同的操作原创 2023-01-16 09:00:00 · 1149 阅读 · 0 评论 -
【蓝桥杯】历届真题 时间显示(省赛)Java
该题有两种方法可解:1. 使用Java自带的API进行计算、2. 通过计算毫秒数,将范围确定为一天内,并按照题意忽略毫秒位,计算出其所代表的时间。总体来说此题还是较为简单的,方法一主要体现在对Date类及其实例化、时间的输出格式等方面。 而方法二则较为考察逻辑能力,如何获取到正确的数据范围、如何进行不足位补0的操作,能够有一个明确的思路的话,写代码还是很轻松的。来吧,展示!原创 2023-01-15 09:00:00 · 1058 阅读 · 0 评论 -
【蓝桥杯】历届真题 杨辉三角形 (省赛)Java
首先,要新建一个数组以存放杨辉三角中的值。该长度通过题目中所给出的图示进行计算,此时有一个小窍门。通过观察可知杨辉三角左右半边的值为相同的,或者说杨辉三角是。经过观察,不难总结出规律:y = x * (x-1) / 2。因此,可以先从中间一分为二,选取左半边或右半边进行计算。后续计算同样基于该规律所做。原创 2023-01-14 09:00:00 · 2200 阅读 · 6 评论 -
【蓝桥杯】历届真题 魔方旋转问题(高职组) Java
初看这道题时,出于本能就想到了使用二维数组来模拟6个面上的所有颜色。但苦于自己的空间想象能力略差,于是借助iPad上的笔记软件来进行绘图。但还是不够直观,怎么办呢?我想:干脆把它直接化为展开图来看,岂不是更直观?于是借助着展开图使用暴力方法将此题解开。 此代码在思维量上并没有多大的难度,关键就是在于心细!心细!心细!初看这道题时觉得蛮简单,没想到光是数x y z这些变换让我跟它磕了两个多小时。总结值得一提的是,我在自己编译器的测试用例下都可以通过,且答案正确。但无法在蓝桥杯的OJ上通原创 2023-01-13 09:00:00 · 999 阅读 · 3 评论 -
【蓝桥杯】基础练习 闰年判断 Java
此题在思维层面上并没有多大的思考量,主要考察编程基础。各位在加强算法和逻辑思维的同时也不能松懈了编程基础的联系噢。这道题没什么说法,主要是对于基本的判断条件的简单考察。若无法通过可以多多加强自己对于编程的基础知识的学习,解题代码如下。输出一行,如果给定的年份是闰年,则输出yes,否则输出no。1. 年份是4的倍数而不是100的倍数;说明:当试题指定你输出一个字符串作为结果(比如本题的yes或者no,你。2. 年份是400的倍数。输入包含一个整数y,表示当前的年份。其他的年份都不是闰年。原创 2023-01-12 09:00:00 · 305 阅读 · 0 评论 -
【蓝桥杯】基础练习 01字串 Java
使用String数据类型代替int类型是为了使得输出方便,并且通过数据类型的不同将计算与输出的过程相隔开。主要目的是为了方便存储在0-31的计算中所产生的中间量及后续的逆序输出。再次看到这句话我瞬间意识到:二进制。进而想到了进制转换,题中所给的例子无非是将十进制转为二进制,并将位数限定为5位,最后将数组中的数逆序,输出。这个举例第一眼看过去很像穷举,将每个位置上的0和1都出现过后即可。对于长度为5位的一个01串,每一位都可能是0或1,一共有32种可能。输出32行,按从小到大的顺序每行一个长度为5的01串。原创 2023-01-11 09:00:00 · 575 阅读 · 0 评论 -
【蓝桥杯】基础练习 字母图形 Java
这是一个5行7列的图形,请找出这个图形的规律,并输出一个n行m列的图形。输入一行,包含两个整数n和m,分别表示你要输出的图形的行数的列数。第0行第0列的字母是A,第1行第1列的字母是A,第2行第2列的字母是A……第0行第1列的字母是B,第1行第0列的字母是B,第1行第2列的字母是B。第0行第2列的字母是C,第1行第3列的字母是C,第2行第2列的字母是C…而第i行的第i位后自左向右的字母也是按ABCDEF…通过观察可以发现,字母的序号与这两个字母的下标的差的绝对值有关。输出n行,每个m个字符,为你的图形。原创 2023-01-10 09:00:00 · 863 阅读 · 0 评论 -
【蓝桥杯】基础练习 数列特征 Java
输出三行,每行一个整数。第一行表示这些数中的最大值,第二行表示这些数中的最小值,第三行表示这些数的和。第二行有n个数,为给定的n个数,每个数的绝对值都小于10000。给出n个数,找出这n个数的最大值,最小值,和。第一行为整数n,表示数的个数。此题较为简单,主要是对编程基础的考察。原创 2023-01-09 09:00:00 · 45 阅读 · 0 评论 -
【蓝桥杯】基础练习 查找整数 Java
如果a在数列中出现了,输出它第一次出现的位置(位置从1开始编号),否则输出-1。第二行包含n个非负整数,为给定的数列,数列中的每个数都不大于10000。给出一个包含n个整数的数列,问整数a在数列中的第一次出现是第几个。第三行包含一个整数a,为待查找的数。第一行包含一个整数n。1. 通过排序进而直接确定最大最小值。原创 2023-01-08 09:00:00 · 297 阅读 · 0 评论 -
【蓝桥杯】基础练习 杨辉三角形 Java
思路1. 先构建类杨辉三角的二维数组 2. 将值输入进该二维数组中,并根据其性质进行运算3.输出原创 2023-01-07 09:00:00 · 351 阅读 · 0 评论 -
【蓝桥杯】基础练习 特殊的数字 Java
总结此题较为简单,需要注意的无非是分别取出各个位上的数。规律为:个位:i / 1 % 10 (“/ 1”操作因为与原数相同,所以可以省略,变为:i % 10) 十位:i / 10 % 10 百位:i / 100 % 10 不难总结出规律:(原数) / (需要取得的位数) % 10 千位、万位、十万...同理。原创 2023-01-06 09:30:00 · 289 阅读 · 0 评论 -
【蓝桥杯】基础练习 特殊回文数 Java
确定了循环的范围,接下来便简单了。无非是取出各个位上的数,相加进行判断是否等于题目所给值。判断相等后再根据数字的位数是5位还是6位进行首位和末尾,次位和倒数第二位等等的判断。首先,按照题意,品一下这个约定“1原创 2023-01-05 09:30:00 · 879 阅读 · 1 评论 -
【蓝桥杯】基础练习 十进制转十六进制 Java
十六进制数是在程序设计时经常要使用到的一种整数的表示方式。它有0,1,2,3,4,5,6,7,8,9,A,B,C,D,E,F共16个符号,分别表示十进制数的0至15。十六进制的计数方法是满16进1,所以十进制数16在十六进制中是10,而十进制的17在十六进制中是11,以此类推,十进制的30在十六进制中是1E。因为上一道题的要求为“十六进制转为八进制”,惯性思维就导致了我下意识的以为这道题也是十六进制转十进制的题目。于是仔细看了眼题目,才发现十进制在前,十六进制在后。(大家一定不要向我学习!原创 2022-12-25 09:00:00 · 204 阅读 · 0 评论 -
【蓝桥杯】基础练习 十六进制转八进制 Java
答:将所给的十六进制数放在数组中,利用循环逐位判断,逐位赋值。答:原理同上,需要注意的是,十六进制为四位数的二进制数,而八进制为三位数的二进制数。接下来n行,每行一个由0~9、大写字母A~F组成的字符串,表示要转换的十六进制正整数,每个十六进制数长度不超过100000。答:我们最为熟悉的进制转换问题莫过于二进制转某进制或某进制转二进制,因此不难确定这个某进制便是二进制。首先,遇到问题肯定是将问题化为一个一个的小问题,逐个解决。先将十六进制数转换成某进制数,再由某进制数转换成八进制。问题四:怎样处理前导零?原创 2022-12-22 09:00:00 · 1007 阅读 · 0 评论 -
【蓝桥杯】基础练习 A+B问题(入门)
本题没有多大的思考量,只是对基础语法的考查。输入A、B,输出A+B。解法二:使用BufferedReader。解法一:使用Scanner。原创 2022-12-21 16:16:25 · 120 阅读 · 0 评论 -
【蓝桥杯】基础练习 数列排序 Java
问题描述 给定一个长度为n的数列,将这个数列按从小到大的顺序排列。1原创 2022-12-21 19:50:06 · 987 阅读 · 0 评论