
蓝桥杯
刘钢筋universe
碳基生命
展开
-
蓝桥杯准备笔记(持更2021.04.12)
Notes2020.04.10 BEGIN-1-4 +等比数列等差数列求和时,大概率是会超限的,所以可能会用到长整型long,不要采用for循环递加,会超时,直接用公式(1)等差数列求和公式S = n(a1+an)/2(2)等比数列求和公式S = [a1(1-q^n)]/(1-q)规定小数点位数输出创建小数格式DecimalFormat对象dFormat使用dFormat调用format方法输出DecimalFormat dFormat = new DecimalFormat("#0.0原创 2021-04-10 22:55:31 · 195 阅读 · 0 评论 -
蓝桥杯JAVA练习0408-BASIC-19 基础练习 完美的代价
基础练习 完美的代价2021.04.08完美的代价这道题搁置好久了因为贪心实在是难以理解比赛马上要开始了所以说啥也得搞定一道贪心的题目参考了大佬的代码最后自己又重新敲了一遍思路如下:Impossible:数量为单数的字母超过两个,不可能构成回文串0:单个或者两个字母,不需交换others:查找首字母对应相同的字母最后一次出现的下标index,如果首字母只有一个(index=0),则计算移动到字符串最中间的位置需要的步数;首字母出现多于一次,则计算最后一次出现位置(index)移动到原创 2021-04-10 20:03:10 · 169 阅读 · 0 评论 -
蓝桥杯JAVA练习0224-ALGO-4笔记
ALGO-4 结点选择结点选择50%这道题是树形动态规划,参考了大佬的代码由于JAVA的一些原因,C++能满分的代码用JAVA只能过一半的数据首先需要读懂题目第一行是结点的个数第二行是每个结点的权再向下是树的边(不分父子)建立两个全局二维数组tree[i][j]=a(a!=0)代表树有一条i到a的边,每行个数取决于i结点和其他结点有几条边dp[i][0]代表i结点i不选中时的所有权值之和dp[i][1]代表结点i选中时所有权值之和首先将结点i的权值存在dp[i][1]中作为初始值原创 2021-02-25 20:55:03 · 255 阅读 · 2 评论 -
蓝桥杯JAVA练习0224-ALGO2-3笔记
前几天去学车考驾照了现在是有证写代码ALGO-2 最大最小公倍数最大最小公倍数本来这道题的第一反应是挨个试,所以需要套三层循环,再写一个gcd方法就可以了,但是1 <= N <= 10^6,可能会时间超限,所以看了之前的测评记录。用一个比较巧妙的方法来计算,分类。很简单的前提就是,最大最小公倍数必然是三个尽可能大的互质的数字相乘的结果。那么需要分类:首先,如果n是1或者2时,很简单,结果是其自身如果n为奇数,那么n和n-1和n-2没有公因数,那么结果自然为n*(n-1)*(n原创 2021-02-24 21:12:06 · 141 阅读 · 0 评论 -
蓝桥杯JAVA练习0217-BASIC30、ALGO-1笔记
BASIC-30 阶乘计算阶乘计算这道题昨天就有了思路讲道理其实计算部分真的不难只不过对于数组不限制大小的情况我不太确定乘的循环停止在什么条件找了大佬的代码,主体思路一样但是循环结束条件理解不了所以干脆加到最大最后逆序输出的时候把开头0全部去掉就好但是我担心超时同时还有我单纯考虑了n是个位数的情况,但是好像10也成功了所以就想着能拿一分拿一分结果居然过了……codeimport java.util.Scanner;public class Main { public sta原创 2021-02-17 20:52:05 · 101 阅读 · 0 评论 -
蓝桥杯JAVA练习0216-BASIC28-29笔记
BASIC-28 Huffuman树Huffuman树原理很简单,每次都加最小的两个数字就可以首先把数组从小到大排序把最小的两个数字a[0]和a[1]相加,和放在a[0]的位置从a[1]往后每个数字都前移再排序,继续……需要注意排序的范围,因为实际上数组的最后永远会有初始数组中最大的数字所以sort的范围需要每次改变我的错误出现在把sum(所有和)和a[0](两个较小数字的和)弄混了阴差阳错过了样例但是有所有测试点没有通过最后发现哈夫曼树的总费用需要每次的a[0]都加一遍解决co原创 2021-02-16 20:39:59 · 118 阅读 · 0 评论 -
蓝桥杯JAVA练习0215-BASIC24-26笔记
BASIC-24 龟兔赛跑预测龟兔赛跑预测好像去年做的时候印象深刻所以先不着急挑出几个特殊情况,比如路程比兔子领先休息的路程短比如兔子休息完第一次乌龟也追不上,那乌龟永远追不上……然后我就不知道怎么写了麻了所以找了去年的代码来看另辟蹊径不用数学方法,时间按秒数自增计算每时刻的路程变化然后我发现有一个测试数据没通过原因出现在兔子休息的计算过程原方法是在兔子休息时乌龟路程增加,时间加快到兔子休息完毕错误应该是乌龟的到达时间不准确更改为从兔子休息的那一刻起,兔子突然减少自己休息时原创 2021-02-15 20:59:29 · 184 阅读 · 1 评论 -
蓝桥杯JAVA练习0214-BASIC21-23笔记
BASIC-21 Sine之舞Sine之舞神奇的奶牛这道题主要是注意分辨公式的每个部分是什么意思调用两个函数an、sn进行每一部分的输出sn函数为整体的把控,这里需要调用an,所以可以把sn用含有an的公式表示出来,需要输出an的时候调用an函数主要难点在于an的写法我想到了递归,但是由于掌握不熟练最后还是用for循环写出来了容易出问题的地方:对于循环中的起始点为0还是1,用1的话能更好联系公式找到规律像开头结尾的括号可以单独使用for循环一次性输出codeimport java原创 2021-02-14 20:51:43 · 105 阅读 · 0 评论 -
蓝桥杯JAVA练习0210-BASIC20笔记
BASIC-20题目链接这道题很有意思理清思路就很容易写出来我是用了按位if条件判断坏处就在于我是写了大纲之后自己测试数据通过测试数据改自己的代码这就导致了两个问题代码分类有点乱有些情况没有考虑周到针对第一个情况,虽然代码看起来很繁琐,但是很容易看出每个判断条件的意思针对第二个情况,我开始消极应战了,就是用直接用测试数据改bug这样很不好,很不好!检讨!最后我用自己的数据检测出来好多个Bug10010 10100 500001应该是“一万零一十”、“一万零一百”、“五万零原创 2021-02-10 20:58:01 · 112 阅读 · 0 评论 -
蓝桥杯JAVA练习0209-BASIC18、20笔记
BASIC-18这道题很有意思矩形相交,其实就是找顶点分为两种情况讨论相交不相交其中相交的情况可以画图尝试归纳出相交矩形的对角坐标我用的是左下角和右上角找出最小和最大的比较关系很容易就得出来了记得保留小数的方法import java.text.DecimalFormat;import java.util.Scanner;public class Main { public static void main(String[] args) { // TODO Auto-g原创 2021-02-09 21:08:12 · 189 阅读 · 1 评论 -
蓝桥杯JAVA练习0208-BASIC16-17笔记
气死我了,写一半电脑关机了……BASIC-16昨天的思路大体没错,但是为了好理解我又重写了一遍因为昨天的很繁琐所以把判断素数的函数单独拉出来了整体思路大概就是:按要求输出等式前半部分,然后把本来就是素数的分类直接输出本身,不是素数的就从2开始除,能够整除就输出,然后取商继续除,直到商不能继续除(判断商为素数)需要注意的是要把剩余的最后一个商输出,记得乘号import java.util.Scanner;public class Main { public static int isPri原创 2021-02-08 21:00:39 · 140 阅读 · 0 评论 -
蓝桥杯JAVA练习0207-BASIC14-16笔记
BASIC-14纯计算,很简单BASIC-15分类,用多个if-else挨个排除就很简单BASIC-16写了一会晕头转向,估计写完也会超时,眼睛疼,打算明天重写了原创 2021-02-07 20:35:13 · 122 阅读 · 1 评论 -
蓝桥杯JAVA练习0206-BASIC12-13笔记
BASIC-12经过一天的思考(不是,我晚上才开始敲代码)为了解决运行超时,做了以下改动改进一:二进制转八进制改为计算方式,而不是switch-case改进二:把原来的转换为八进制之后再删除开头的‘0’改为转化为八进制时共同进行还是不行,我生气了,决定参考一下大佬的代码最后把转换过程中的所有String类转化为StringBuffer类为什么是所有呢?因为我只改了十六转二部分的之后发现还是超时import java.util.Scanner;public cla原创 2021-02-06 20:45:32 · 121 阅读 · 1 评论 -
蓝桥杯JAVA练习0205-BASIC12笔记
BASIC-12一道让我及其想骂人的题目一开始是十六进制转十进制转八进制我就知道可能会超限但是我没想到测试数据长到不算数,就是字符串嘛所以还是转二进制,之后再转八进制然后枚举列出来最后……运行超时睡了明天再搞import java.util.Scanner;public class Main { public static void main(String[] args) { // TODO Auto-generated method stub Scanner scan原创 2021-02-05 21:21:54 · 144 阅读 · 1 评论 -
蓝桥杯JAVA练习0203-BASIC7-11笔记
BASIC-7 单独计算每位即可BASIC-8 一样简单BASIC-9 五位数和六位数单独讨论,依然很简单BASIC-10 十进制整型里可以直接转化为十六进制Integer.toHexString(n)BASIC-11 哇卡了半天发现我居然输出错了位置哈哈气死我了 由于我用了字符串存储输入的十六进制,因此按位读的时候需要将每一位转化为数字形式,不仅仅是A-F的字母,还有‘0’~‘9’也是以字符的形式存在的,因此每一位都需要转化。同时需要使用pow方原创 2021-02-03 20:45:28 · 135 阅读 · 0 评论 -
蓝桥杯JAVA练习0129-BASIC4-6笔记
BASIC-4就很简单,注意数组范围BASIC-5就依然很简单,还是数组BASIC-6就二维数组,控制第一行和每行首尾数字int a[][] = new int[36][36];然后加就完了对,今天的题目就是如此简单,为什么不多做点呢?因为我时间不够了,我还要复习单词然后就要睡觉了,为什么还要记呢?因为强迫症不想漏掉一个日期所以随便记一记,就这样,晚安♥...原创 2021-01-29 20:50:56 · 142 阅读 · 0 评论 -
蓝桥杯JAVA练习0128-BASIC1-3笔记
BASIC-1就很简单BASIC-2十进制整型转二进制字符串String s = Integer.toBinaryString(n);BASIC-3字符与ASCII码转换只需要char、int强制类型转换即可分析规律构成时注意长度限制,及多种情况数据测试,不要着急提交...原创 2021-01-28 21:00:29 · 136 阅读 · 0 评论 -
蓝桥杯JAVA练习0127-BEGIN笔记
BEGIN-2循环时间超限,直接使用等差等比数列的求和公式长整形LongBEGIN-3小数点后几位输出(例子7位) DecimalFormat dFormat = new DecimalFormat("#.0000000"); System.out.print(dFormat.format(r));BEGIN-4新建数组 int arr[] = new int[n];新建数组时尽量开大一点...原创 2021-01-27 20:08:15 · 96 阅读 · 0 评论 -
蓝桥杯BASIC-20 基础练习 数的读法
蓝桥杯BASIC-20 基础练习 数的读法问题描述 Tom教授正在给研究生讲授一门关于基因的课程,有一件事情让他颇为头疼:一条染色体上有成千上万个碱基对,它们从0开始编号,到几百万,几千万,甚至上亿。 比如说,在对学生讲解第1234567009号位置上的碱基时,光看着数字是很难准确的念出来的。 所以,他迫切地需要一个系统,然后当他输入12 3456 7009时,会给出相应的念法: ...原创 2020-04-16 15:35:27 · 848 阅读 · 0 评论 -
蓝桥杯BASIC-25 基础练习 回形取数
蓝桥杯BASIC-25 基础练习 回形取数问题描述 回形取数就是沿矩阵的边取数,若当前方向上无数可取或已经取过,则左转90度。一开始位于矩阵左上角,方向向下。输入格式 输入第一行是两个不超过200的正整数m, n,表示矩阵的行和列。接下来m行每行n个整数,表示这个矩阵。输出格式 输出只有一行,共mn个数,为输入矩阵回形取数得到的结果。数之间用一个空格分隔,行末不要有多余的空格。...转载 2020-04-15 16:07:56 · 145 阅读 · 0 评论 -
蓝桥杯BASIC-24 基础练习 龟兔赛跑预测
蓝桥杯BASIC-24 基础练习 龟兔赛跑预测问题描述 话说这个世界上有各种各样的兔子和乌龟,但是研究发现,所有的兔子和乌龟都有一个共同的特点——喜欢赛跑。于是世界上各个角落都不断在发生着乌龟和兔子的比赛,小华对此很感兴趣,于是决定研究不同兔子和乌龟的赛跑。他发现,兔子虽然跑比乌龟快,但它们有众所周知的毛病——骄傲且懒惰,于是在与乌龟的比赛中,一旦任一秒结束后兔子发现自己领先t米或以上,它们...原创 2020-04-15 15:47:01 · 477 阅读 · 0 评论 -
蓝桥杯BASIC-22 基础练习 FJ的字符串
蓝桥杯BASIC-22 基础练习 FJ的字符串问题描述 FJ在沙盘上写了这样一些字符串: A1 = “A” A2 = “ABA” A3 = “ABACABA” A4 = “ABACABADABACABA” … … 你能找出其中的规律并写所有的数列AN吗?输入格式 仅有一个数:N ≤ 26。输出格式 请输出相应的字符串AN,以一个换行符结束。输出中不得含有多...原创 2020-04-14 15:20:22 · 209 阅读 · 0 评论 -
蓝桥杯BASIC-21 基础练习 Sine之舞
蓝桥杯BASIC-21 基础练习 Sine之舞问题描述 最近FJ为他的奶牛们开设了数学分析课,FJ知道若要学好这门课,必须有一个好的三角函数基本功。所以他准备和奶牛们做一个“Sine之舞”的游戏,寓教于乐,提高奶牛们的计算能力。 不妨设 An=sin(1–sin(2+sin(3–sin(4+…sin(n))…) Sn=(…(A1+n)A2+n-1)A3+…+2)An+1 FJ...原创 2020-04-14 14:57:51 · 192 阅读 · 0 评论 -
蓝桥杯BASIC-17 基础练习 矩阵乘法
蓝桥杯BASIC-17 基础练习 矩阵乘法问题描述 给定一个N阶矩阵A,输出A的M次幂(M是非负整数) 例如: A = 1 2 3 4 A的2次幂 7 10 15 22输入格式 第一行是一个正整数N、M(1<=N<=30, 0<=M<=5),表示矩阵A的阶数和要求的幂数 接下来N行,每行N个绝对值不超过10的非负整数,描述矩阵A的...原创 2020-04-13 14:50:29 · 193 阅读 · 0 评论 -
蓝桥杯PREV-21 历届试题 回文数字
蓝桥杯PREV-21 历届试题 回文数字问题描述 观察数字:12321,123321 都有一个共同的特征,无论从左到右读还是从右向左读,都是相同的。这样的数字叫做:回文数字。 本题要求你找到一些5位或6位的十进制数字。满足如下要求: 该数字的各个数位之和等于输入的整数。输入格式 一个正整数 n (10<n<100), 表示要求满足的数位和。输出格式 若干行,每...原创 2020-01-29 12:40:06 · 305 阅读 · 0 评论 -
蓝桥杯 ALGO-124 算法训练 数字三角形
蓝桥杯 ALGO-124 算法训练 数字三角形问题描述 图示出了一个数字三角形。 请编一个程序计算从顶至底的某处的一条路径,使该路径所经过的数字的总和最大。 ●每一步可沿左斜线向下或右斜线向下走; ●1<三角形行数≤100; ●三角形中的数字为整数0,1,…99; 输入格式 文件中首先读到的是三角形的行数。 接下来描述整个三角形输出格式 最大总和(整数)样例...原创 2020-01-28 16:26:00 · 208 阅读 · 0 评论 -
蓝桥杯PREV-1 历届试题 核桃的数量
蓝桥杯PREV-1 历届试题 核桃的数量问题描述 小张是软件项目经理,他带领3个开发组。工期紧,今天都在加班呢。为鼓舞士气,小张打算给每个组发一袋核桃(据传言能补脑)。他的要求是: 1. 各组的核桃数量必须相同 2. 各组内必须能平分核桃(当然是不能打碎的) 3. 尽量提供满足1,2条件的最小数量(节约闹革命嘛)输入格式 输入包含三个正整数a, b, c,表示每个组正在加班...原创 2020-01-27 12:18:10 · 318 阅读 · 0 评论 -
蓝桥杯ALGO-53 算法训练 最小乘积(基本型)
蓝桥杯ALGO-53 算法训练 最小乘积(基本型)问题描述 给两组数,各n个。 请调整每组数的排列顺序,使得两组数据相同下标元素对应相乘,然后相加的和最小。要求程序输出这个最小值。 例如两组数分别为:1 3 -5和-2 4 1 那么对应乘积取和的最小值应为: (-5) * 4 + 3 * (-2) + 1 * 1 = -25输入格式 第一个行一个数T表示数据组数...原创 2020-01-21 13:03:39 · 253 阅读 · 0 评论 -
蓝桥杯ALGO-150 算法训练 6-1 递归求二项式系数值
蓝桥杯ALGO-150 算法训练 6-1 递归求二项式系数值问题描述样例输入 一个满足题目要求的输入范例。 3 10样例输出 120数据规模和约定 输入数据中每一个数的范围。 例:结果在int表示时不会溢出。 递归是个好办法#include <iostream>#include <bits/stdc++.h>using namesp...原创 2020-01-20 17:37:42 · 166 阅读 · 0 评论 -
蓝桥杯ALGO-189 算法训练 P0505
蓝桥杯ALGO-189 算法训练 P0505问题描述 一个整数n的阶乘可以写成n!,它表示从1到n这n个整数的乘积。阶乘的增长速度非常快,例如,13!就已经比较大了,已经无法存放在一个整型变量中;而35!就更大了,它已经无法存放在一个浮点型变量中。因此,当n比较大时,去计算n!是非常困难的。幸运的是,在本题中,我们的任务不是去计算n!,而是去计算n!最右边的那个非0的数字是多少。例如,5!...原创 2020-01-20 17:18:34 · 203 阅读 · 0 评论 -
蓝桥杯ALGO-202 算法训练 二进制数数
蓝桥杯ALGO-202 算法训练 二进制数数问题描述 给定L,R。统计[L,R]区间内的所有数在二进制下包含的“1”的个数之和。 如5的二进制为101,包含2个“1”。输入格式 第一行包含2个数L,R输出格式 一个数S,表示[L,R]区间内的所有数在二进制下包含的“1”的个数之和。样例输入2 3样例输出3数据规模和约定 L<=R<=100000;综...原创 2020-01-19 17:34:18 · 892 阅读 · 1 评论 -
蓝桥杯ALGO-195 算法训练 1的个数
蓝桥杯ALGO-195 算法训练 1的个数问题描述 输入正整数n,判断从1到n之中,数字1一共要出现几次。例如1123这个数,则出现了两次1。例如15,那么从1到15之中,一共出现了8个1。输入格式 一个正整数n输出格式 一个整数,表示1出现的资料样例输入15样例输出8数据规模和约定 n不超过30000查了一下大佬的思路,设计函数计算从1到n的每个数中1个个数再求...原创 2020-01-19 16:57:33 · 389 阅读 · 0 评论 -
蓝桥杯ALGO-90 算法训练 出现次数最多的整数
蓝桥杯ALGO-90 算法训练 出现次数最多的整数问题描述 编写一个程序,读入一组整数,这组整数是按照从小到大的顺序排列的,它们的个数N也是由用户输入的,最多不会超过20。然后程序将对这个数组进行统计,把出现次数最多的那个数组元素值打印出来。如果有两个元素值出现的次数相同,即并列第一,那么只打印比较小的那个值。 输入格式:第一行是一个整数N,N £ 20;接下来有N行,每一行表示一个...原创 2020-01-12 14:22:30 · 230 阅读 · 0 评论 -
蓝桥杯ALGO-221 算法训练 数据交换
蓝桥杯ALGO-221 算法训练 数据交换问题描述 编写一个程序,输入两个整数,分别存放在变量x和y当中,然后使用自己定义的函数swap来交换这两个变量的值。 输入格式:输入只有一行,包括两个整数。 输出格式:输出只有一行,也是两个整数,即交换以后的结果。 要求:主函数负责数据的输入与输出,但不能直接交换这两个变量的值,必须通过调用单独定义的函数swap来完成,而swap函数只负...原创 2020-01-14 16:40:34 · 682 阅读 · 0 评论 -
蓝桥杯ALGO-220 算法训练 加法运算
蓝桥杯ALGO-220 算法训练 加法运算问题描述 你的表妹正在学习整数的加法,请编写一个程序来帮助她学习。该程序调用了一个函数GetTwoInts,由它来返回两个从键盘读入的100以内的整数,然后计算这两个整数之和,并把答案显示出来。要求:在主函数中不能使用scanf等函数直接输入这两个整数,而必须通过调用GetTwoInts函数来完成,在GetTwoInts函数中可以使用scanf函数。...原创 2020-01-14 17:10:49 · 387 阅读 · 0 评论 -
蓝桥杯ALGO-51Torry的困惑(基本型)
蓝桥杯ALGO-51Torry的困惑(基本型)问题描述 Torry从小喜爱数学。一天,老师告诉他,像2、3、5、7……这样的数叫做质数。Torry突然想到一个问题,前10、100、1000、10000……个质数的乘积是多少呢?他把这个问题告诉老师。老师愣住了,一时回答不出来。于是Torry求助于会编程的你,请你算出前n个质数的乘积。不过,考虑到你才接触编程不久,Torry只要你算出这个数模上...原创 2020-01-17 14:21:28 · 212 阅读 · 0 评论 -
蓝桥杯ALGO-148 算法训练 5-1最小公倍数
蓝桥杯ALGO-148 算法训练 5-1最小公倍数问题描述 编写一函数lcm,求两个正整数的最小公倍数。样例输入 一个满足题目要求的输入范例。 例: 3 5样例输出 与上面的样例输入对应的输出。 15数据规模和约定 输入数据中每一个数的范围。 例:两个数都小于65536。好多都忘记了,记一下递归求最大公约数,求出最大公约数之后两数相乘再除最大公约数即可求...原创 2020-01-17 15:00:15 · 213 阅读 · 0 评论 -
蓝桥杯ALGO-48 算法训练 关联矩阵
蓝桥杯ALGO-48 算法训练 关联矩阵问题描述 有一个n个结点m条边的有向图,请输出他的关联矩阵。输入格式 第一行两个整数n、m,表示图中结点和边的数目。n<=100,m<=1000。 接下来m行,每行两个整数a、b,表示图中有(a,b)边。 注意图中可能含有重边,但不会有自环。输出格式 输出该图的关联矩阵,注意请勿改变边和结点的顺序。样例输入5 91...原创 2020-01-17 15:39:31 · 267 阅读 · 0 评论 -
蓝桥杯ALGO-142 算法训练 P1103
蓝桥杯ALGO-142 算法训练 P1103编程实现两个复数的运算。设有两个复数 和 ,则他们的运算公式为: 要求:(1)定义一个结构体类型来描述复数。 (2)复数之间的加法、减法、乘法和除法分别用不用的函数来实现。 (3)必须使用结构体指针的方法把函数的计算结果返回。 说明:用户输入:运算符号(+,-,*,/) a b c d. 输出:a+bi,输出时不管a,b是小于0或等于0都...原创 2020-01-18 12:00:03 · 293 阅读 · 0 评论 -
蓝桥杯ALGO-81 算法训练 动态数组使用
蓝桥杯ALGO-81 算法训练 动态数组使用从键盘读入n个整数,使用动态数组存储所读入的整数,并计算它们的和与平均值分别输出。要求尽可能使用函数实现程序代码。平均值为小数的只保留其整数部分。样例输入53 4 0 0 2样例输出9 1样例输入73 2 7 5 2 9 1样例输出29 4这道题,奇奇怪怪,明明不需要动态数组我jio得#include <iostrea...原创 2020-01-18 12:34:59 · 178 阅读 · 0 评论