第十二届/第十一届蓝桥杯备赛
文章平均质量分 69
第十二届/第十一届蓝桥杯备赛专栏,包含C++与Java
梦码城
以梦为码,不负韶华
展开
-
蓝桥杯学习——递归与循环
蓝桥杯学习——递归与循环递归与循环的区别递归,说白了就是自己调用自己,利用的是栈后进先出的原理。理论上,任何的循环都可以重写为递归形式,所有的递归也可以被表述成循环的形式循环改递归的两大要点发现逻辑循环中的“相似性”找到递归的**“出口”**确定递归的参数踢皮球思想理解递归“踢皮球”-常用来形容政府职能部门职责不清,相互推诿,比如你要到部门A盖个章,A叫你先去部门B盖章,B叫你去部门C盖章…这种将工作以踢皮球的方式甩给其他人做的方式其实很适用于递归。但在递归中,如果你甩给其他人的工作和分原创 2021-02-28 08:09:36 · 165 阅读 · 0 评论 -
蓝桥杯3月7日练题
试题 基础练习 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想让奶牛们计算Sn的值,请你帮助FJ打印出Sn的完整表达式,以方便奶牛们做题。输入格式仅有一个数:N<201。输出格式请原创 2021-03-08 19:36:44 · 89 阅读 · 0 评论 -
3月4号蓝桥杯训练总结
埃氏筛法求素数集埃拉托色尼算法工作原理:1.假定范围内的所有的数都是素数2.我们从2开始,只要是2的倍数我们就认为该数不是素数,打标处理3.直到判断到n为止我们就可以将所有的非素数打上标记,从而确定了所有的非素数代码 static void isprim(int a,int b) { //求a与b区间内的素数 for(int i=0;i<=b;i++)isPrim[i]=true; isPrim[0]=isPrim[1]=false; int index=0; for(i原创 2021-03-04 14:07:07 · 104 阅读 · 2 评论 -
第八届蓝桥杯5-7题
E. 取数位/*Description求1个整数的第k位数字有很多种方法。以下的方法就是一种。Input没有输入。Output见上文描述。*/// 求x用10进制表示时的数位长度//思路:对递归的掌握和使用理解#include<stdio.h> int len(int x){ if(x<10) return 1; return len(x/10)+1;} // 取x的第k位数字int f(int x, int k){ if(len(x)-k==0)原创 2020-11-12 20:36:42 · 110 阅读 · 0 评论 -
第11届蓝桥杯七段码
七段码package 第11届_第2场;import java.util.Arrays;import java.util.HashSet;import java.util.Iterator;import java.util.Set;import java.util.TreeSet;/** * @author: DreamCode * @file: D_七段码.java * @time: 2022年2月22日-下午7:05:46 * @思路: DFS,每个等只有两种选择,亮或者亮,逐原创 2022-03-30 23:27:39 · 449 阅读 · 0 评论 -
蓝桥杯2020年上半场省赛完整版题解(Java 大学B组)
A 解密本题总分:5 分问题描述小明设计了一种文章加密的方法:对于每个字母 c cc,将它变成某个另外的字符 Tc。下表给出了字符变换的规则:例如,将字符串 YeRi 加密可得字符串 EaFn。小明有一个随机的字符串,加密后为EaFnjISplhFviDhwFbEjRjfIBBkRyY(由 30 个大小写英文字母组成,不包含换行符),请问原字符串是多少?(如果你把以上字符串和表格复制到文本文件中,请务必检查复制的内容是否与文档中的一致。在试题目录下有一个文件 str.txt,第一行为上面的字符串原创 2021-04-02 21:57:28 · 331 阅读 · 0 评论 -
第十一届蓝桥杯省赛完整解析(Java 大学B组)
A 解密本题总分:5 分问题描述小明设计了一种文章加密的方法:对于每个字母 c cc,将它变成某个另外的字符 Tc下表给出了字符变换的规则:例如,将字符串 YeRi 加密可得字符串 EaFn。小明有一个随机的字符串,加密后为EaFnjISplhFviDhwFbEjRjfIBBkRyY(由 30 个大小写英文字母组成,不包含换行符),请问原字符串是多少?(如果你把以上字符串和表格复制到文本文件中,请务必检查复制的内容是否与文档中的一致。在试题目录下有一个文件 str.txt,第一行为上面的字符串,后原创 2021-04-03 14:03:45 · 438 阅读 · 0 评论 -
蓝桥杯第一轮基础练习总结
蓝桥杯第一轮基础练习总结基础练习 闰年判断问题描述给定一个年份,判断这一年是不是闰年。当以下情况之一满足时,这一年是闰年:\1. 年份是4的倍数而不是100的倍数;\2. 年份是400的倍数。其他的年份都不是闰年。输入格式输入包含一个整数y,表示当前的年份。输出格式输出一行,如果给定的年份是闰年,则输出yes,否则输出no。代码import java.util.Scanner;public class Main { static int year; static Scanne原创 2021-02-26 18:59:25 · 94 阅读 · 0 评论 -
蓝桥杯3月1日练习总结(解决进制转换问题)
蓝桥杯3月1日练习总结(进制问题)试题 基础练习 十进制转十六进制问题描述十六进制数是在程序设计时经常要使用到的一种整数的表示方式。它有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。 给出一个非负整数,将它表示成十六进制的形式。输入格式输入包含一个非负整数a,表示要转换的数。0<=a<原创 2021-03-01 19:21:35 · 150 阅读 · 0 评论 -
蓝桥杯3月11日练习
试题 基础练习 龟兔赛跑预测问题描述话说这个世界上有各种各样的兔子和乌龟,但是研究发现,所有的兔子和乌龟都有一个共同的特点——喜欢赛跑。于是世界上各个角落都不断在发生着乌龟和兔子的比赛,小华对此很感兴趣,于是决定研究不同兔子和乌龟的赛跑。他发现,兔子虽然跑比乌龟快,但它们有众所周知的毛病——骄傲且懒惰,于是在与乌龟的比赛中,一旦任一秒结束后兔子发现自己领先t米或以上,它们就会停下来休息s秒。对于不同的兔子,t,s的数值是不同的,但是所有的乌龟却是一致——它们不到终点决不停止。 然而有些比赛相当漫长,原创 2021-03-11 17:44:27 · 82 阅读 · 0 评论 -
3月3日蓝桥杯总结
矩阵阶乘运算试题 基础练习 矩阵乘法问题描述给定一个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的值输出格式输出共N行,每行N个整数,表示A的M次幂所对应的矩阵。相邻的数之间用一个空格隔开**思路:**对于矩阵的乘原创 2021-03-04 14:54:57 · 79 阅读 · 1 评论 -
蓝桥杯3月13练题(报时助手+Huffuman树)
试题 基础练习 报时助手问题描述给定当前的时间,请用英文的读法将它读出来。 时间用时h和分m表示,在英文的读法中,读一个时间的方法是: 如果m为0,则将时读出来,然后加上“o’clock”,如3:00读作“three o’clock”。 如果m不为0,则将时读出来,然后将分读出来,如5:30读作“five thirty”。 时和分的读法使用的是英文数字的读法,其中0~20读作: 0:zero, 1: one, 2:two, 3:three, 4:four, 5:five, 6:six原创 2021-03-15 20:50:23 · 94 阅读 · 0 评论 -
蓝桥杯3月14日练习(高精度加法+阶乘计算)
试题 基础练习 高精度加法问题描述输入两个整数a和b,输出这两个整数的和。a和b都不超过100位。算法描述由于a和b都比较大,所以不能直接使用语言中的标准数据类型来存储。对于这种问题,一般使用数组来处理。 定义一个数组A,A[0]用于存储a的个位,A[1]用于存储a的十位,依此类推。同样可以用一个数组B来存储b。 计算c = a + b的时候,首先将A[0]与B[0]相加,如果有进位产生,则把进位(即和的十位数)存入r,把和的个位数存入C[0],即C[0]等于(A[0]+B[0])%10。然原创 2021-03-15 20:57:16 · 132 阅读 · 0 评论 -
蓝桥杯3月6号练习
试题 基础练习 完美的代价问题描述回文串,是一种特殊的字符串,它从左往右读和从右往左读是一样的。小龙龙认为回文串才是完美的。现在给你一个串,它不一定是回文的,请你计算最少的交换次数使得该串变成一个完美的回文串。 交换的定义是:交换两个相邻的字符 例如mamad 第一次交换 ad : mamda 第二次交换 md : madma 第三次交换 ma : madam (回文!完美!)输入格式第一行是一个整数N,表示接下来的字符串的长度(N <= 8000) 第二行是一个字符串原创 2021-03-06 16:49:03 · 900 阅读 · 0 评论 -
第九届蓝桥杯5-7题
E. 快速排序/*Description以下代码可以从数组a[]中找出第k小的元素。它使用了类似快速排序中的分治算法,期望时间复杂度是O(N)的。请仔细阅读分析源码,填写划线部分缺失的内容。Input见上文描述。Output注意:只填写划线部分缺少的代码,不要抄写已经存在的代码或符号。*///注意:题目要求的是时间复杂度是要O(n)的时间复杂度,所以运行结果正确的话答案也不一定正确。做此题时需要了解快速排序与分冶算法#include <stdio.h> int qui原创 2020-11-12 20:39:44 · 150 阅读 · 0 评论 -
蓝桥杯3月10号算法学习(贪心算法)
贪心算法(一)思想顾名思义,贪心算法总是作出在当前看来最好的选择。也就是说贪心算法并不从整体最优考虑,它所作出的选择只是在某种意义上的局部最优选择。当然,希望贪心算法得到的最终结果也是整体最优的。虽然贪心算法不能对所有问题都得到整体最优解,但对许多问题它能产生整体最优解。如单源最短路经问题,最小生成树问题等。在一些情况下,即使贪心算法不能得到整体最优解,其最终结果却是最优解的很好近似。基本要素贪心选择性质。所谓贪心选择性质是指所求问题的整体最优解可以通过一系列局部最优的选择,即贪心选择来达到。这原创 2021-03-10 22:13:52 · 227 阅读 · 0 评论 -
分支限界法——装载问题
队列式分支限界法思路解装载问题的队列式分支限界法仅求出所要求的最优值。首先检测当前扩展结点的左儿子结点是否为可行结点。如果是,则将其加入到活结点队列Q中。然后,将其右儿子结点加入到活结点队列中(右儿子结点一定是可行结点)。2个儿子结点都产生后,当前扩展结点被舍弃。活结点队列中,队首元素被取出作为当前扩展结点。活结点队列已空,算法终止。代码import java.util.LinkedList;import java.util.Queue;import java.util.Scanne原创 2021-12-24 15:28:27 · 1108 阅读 · 0 评论 -
树状数组(java)
树状数组问题模型树状数组是一个查询和修改复杂度都为log(n)的数据结构。首先我们搞明白树状数组是用来干嘛的,现在有一个这样的问题:有一个数组a,下标从0到n-1,现在给你w次修改,q次查询,修改的话是修改数组中某一个元素的值;查询的话是查询数组中任意一个区间的和,w + q < 500000。这个问题很常见,首先分析下朴素做法的时间复杂度,修改是O ( 1 ) O(1)O(1)的时间复杂度,而查询的话是O ( n ) O(n)O(n)的复杂度,总体时间复杂度为O ( q n ) O(qn)O原创 2021-03-22 20:51:44 · 832 阅读 · 0 评论 -
两类检索算法的研究
实验内容一:两类算法分别编程实验,自己写数据进行运行,要求数据个数为10以上,使用同一组数据进行实验。写好程序后,可计算一下程序的时间耗费,对比算法差别算法1代码import java.util.Calendar;import java.util.Random;public class One { // 生成随机数组函数 public static int[] gennerateArray(int len, int max) { int[] arr = ne原创 2021-12-24 15:32:34 · 685 阅读 · 0 评论 -
动态规划之矩阵连乘
动态规划算法代码import java.util.Scanner;public class DP { public static int matrixChaain(int []p, int [][]m, int [][]s){ // m[i][j]代表从第i到j之间的矩阵的最小连乘数 int n = p.length-1; // 当前矩阵的个数 for(int i=1;i<=n;i++) m[i][i]=0; //对角线的值初始化为0原创 2021-12-24 15:31:32 · 221 阅读 · 0 评论 -
动态规划之最长公共子序列
最长公共子序列代码(附分析过程)import java.util.Scanner;public class one { // DP求解最长公共子序列 public static int LcsLength(char[] x, char[] y, int[][] vis) { int m = x.length - 1; int n = y.length - 1; int[][] c = new int[m + 1][n + 1]; //原创 2021-12-24 15:31:01 · 481 阅读 · 0 评论 -
DFS算法(含步骤总结)
DFS算法一般步驟void dfs(int step){ if(边界成立) { 走到最深处 。。。。。。 return; } for(尝试每一种可能的状态) { if(如果这种状态可行){ //剪枝 把这种可能的状态标记,表示走过 继续下一步dfs(step+1) //状态转移 把这种标记去除 //回溯 } }}训练N-皇后问题问题n−n−皇后问题是指将 nn 个皇后放在 n原创 2021-03-29 16:54:51 · 15343 阅读 · 2 评论 -
蓝桥杯——Java中的全排列算法
蓝桥杯——Java中的全排列全排列的概念排列从n个数中选取m(m<=n)个数按照一定的顺序进行排成一个列,叫作从n个元素中取m个元素的一个排列。不同的顺序是一个不同的排列。从n个元素中取m个元素的所有排列的个数,称为排列数。全排列从n个元素取出n个元素的一个排列,称为一个全排列。全排列的排列数公式为[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-gjUFMrJx-1614071860880)(https://math.jianshu.com/math?formu原创 2021-02-23 17:19:12 · 1370 阅读 · 4 评论 -
回溯算法——装载问题和8皇后问题
装载问题代码(附解题思路)import java.util.ArrayList;import java.util.List;import java.util.Scanner;public class Load { public static Scanner scanner = new Scanner(System.in); public static int weight1; //第一个集装箱的载重能力 public static int weight2; //第二个集原创 2021-12-24 15:29:16 · 229 阅读 · 0 评论 -
动态规划之0-1背包
实验一分析目标:在不超过背包容量的情况下,最多能获得多少价值子问题状态:f[j]:表示前i件物品放入容量为j的背包得到的最大价值状态转移方程:f[j] = max{f[j],f[j - weight[i]] + value[i]}初始化:f数组全设置为0输出顺序:顺序输出物品编号注意:这里另外开辟数组G[i][v],标记上一个状态的位置G[i][v] = 1:表示物品i放入背包了,上一状态为G[i - 1][v - weight[i]]G[i][v] = 0:表示物品i没有放入背包,上一状原创 2021-12-24 15:30:12 · 643 阅读 · 0 评论 -
分治法之排序及二分查找
1、n个数的全排列问题。代码public class one { // 交换函数 public static void swap(char[] array, int i, int j) { char temp = array[i]; array[i] = array[j]; array[j] = temp; } // 全排列函数 public static void fun(char[] array, int p原创 2021-12-24 15:32:02 · 1093 阅读 · 0 评论 -
贪心策略_区间选点问题(树状数组+贪心)
贪心策略_区间选点问题基本做法DescriptionYou are given n closed, integer intervals [ai, bi] and n integers c1, …, cn.Write a program that:reads the number of intervals, their end points and integers c1, …, cn from the standard input,computes the minimal size of a s原创 2021-03-22 21:04:15 · 168 阅读 · 0 评论 -
贪心算法——背包问题和最优装载问题
背包问题问题分析计算物品的单位价值,然后尽可能多的将单位重量价值高的物品放入背包中。代码import java.util.Arrays;import java.util.Scanner;public class one { static Scanner scanner = new Scanner(System.in); static class item implements Comparable<item> { private double va原创 2021-12-24 15:29:38 · 1824 阅读 · 0 评论 -
蓝桥杯——加深递归与循环的理解
蓝桥杯学习——递归与循环递归与循环的区别递归,说白了就是自己调用自己,利用的是栈后进先出的原理。理论上,任何的循环都可以重写为递归形式,所有的递归也可以被表述成循环的形式循环改递归的两大要点发现逻辑循环中的**“相似性”**找到递归的**“出口”**确定递归的参数踢皮球思想理解递归“踢皮球”-常用来形容政府职能部门职责不清,相互推诿,比如你要到部门A盖个章,A叫你先去部门B盖章,B叫你去部门C盖章…这种将工作以踢皮球的方式甩给其他人做的方式其实很适用于递归。但在递归中,如果你甩给其他人的原创 2021-02-22 21:34:18 · 175 阅读 · 0 评论 -
第11届蓝桥杯Java组省赛第二场
A.门牌制作package 第11届_第2场;/** * @author: DreamCode * @file: A_门牌制作.java * @time: 2022年2月21日-下午7:47:08 * @思路: 逐个门牌遍历,计算需要数字2的数目,然后将数目求和 */public class A_门牌制作 { public static int count_two(int num) { int count = 0; while(num!=0) { int number =原创 2022-04-02 23:35:46 · 820 阅读 · 0 评论 -
第十二届蓝桥杯省赛Java-大学B组解析
A:ASCpackage 第12届;import java.util.Scanner;/** * @author: DreamCode * @file: C_直线.java * @time: 2022年2月10日-上午11:37:43 */class A_ASC { public static void main(String[] args) { int a = 'L'; System.out.println(a); //答案 76 }}B:卡片packa原创 2022-02-10 19:34:35 · 2178 阅读 · 5 评论 -
第十一届蓝桥杯上半场省赛(Java 大学B组)
蓝桥杯 2020年上半场省赛(Java 大学B组)A 解密本题总分:5 分问题描述小明设计了一种文章加密的方法:对于每个字母 c cc,将它变成某个另外的字符 Tc。下表给出了字符变换的规则:例如,将字符串 YeRi 加密可得字符串 EaFn。小明有一个随机的字符串,加密后为EaFnjISplhFviDhwFbEjRjfIBBkRyY(由 30 个大小写英文字母组成,不包含换行符),请问原字符串是多少?(如果你把以上字符串和表格复制到文本文件中,请务必检查复制的内容是否与文档中的一致。在试题目转载 2021-04-17 21:50:35 · 126 阅读 · 0 评论 -
Java蓝桥杯关键技术总结
Java蓝桥杯Scanner.next()与Scanner.nextLine()的区别1、next()方法在遇到有效字符前所遇到的空格、tab键、enter键都不能当作结束符,next()方法会自动将其去掉,只有当next()方法遇到有效字符之后,next()方法才将其后输入的空格键、Tab键或Enter键等视为分隔符或结束符,所以next()不能得到带有空格的字符串,只能得到部分字符串(空格前面的)。2、nextLine()方法的结束符是Enter键,即nextLine()方法返回的是Enter键原创 2021-04-17 19:20:54 · 321 阅读 · 0 评论 -
第八届蓝桥杯完整省赛解析(Java)
A购物单Description小明刚刚找到工作,老板人很好,只是老板夫人很爱购物。老板忙的时候经常让小明帮忙到商场代为购物。小明很厌烦,但又不好推辞。这不,XX大促销又来了!老板夫人开出了长长的购物单,都是有打折优惠的。小明也有个怪癖,不到万不得已,从不刷卡,直接现金搞定。现在小明很心烦,请你帮他计算一下,需要从取款机上取多少现金,才能搞定这次购物。取款机只能提供100元面额的纸币。小明想尽可能少取些现金,够用就行了。你的任务是计算出,小明最少需要取多少现金。以下是让人头疼的购物单,为了保护原创 2021-04-10 10:50:35 · 387 阅读 · 0 评论 -
第十届蓝桥杯完整省赛解析(Java)
A 组队作为篮球队教练,你需要从以下名单中选出 1 号位至 5 号位各一名球员,组成球队的首发阵容。每位球员担任 1 号位至 5 号位时的评分如下表所示。请你计算首发阵容 1号位至 5 号位的评分之和最大可能是多少?1 97 90 0 0 02 92 85 96 0 03 0 0 0 0 934 0 0 0 80 865 89 83 97 0 06 82 86 0 0 07 0 0 0 87 908 0 97 96 0 09 0 0 89 0 010 95 99 0 0 011原创 2021-02-14 21:59:34 · 787 阅读 · 3 评论 -
第11届蓝桥杯省模拟赛
个人答案情况,如有错误还请指点你小小的一个点赞,却是我人生路上的巨大鼓励1题//问题描述// 将LANQIAO中的字母重新排列,可以得到不同的单词,如LANQIAO、AAILNOQ等,注意这7个字母都要//被用上,单词不一定有具体的英文意义。请问,总共能排列如多少个不同的单词。//答案提交// 这是一道结果填空的题,你只需要算出结果后提交即可。本题的结果为一个整数,在提交答案时只...原创 2020-04-18 14:22:37 · 370 阅读 · 1 评论