
蓝桥杯
文章平均质量分 54
那只狸花猫吖
梦想一定要有,万一实现了呢
展开
-
蓝桥杯---数组分割
根据以上分析,对于第一测试用例,所有4种子集都符合条件,输出应该是4。对于第二测试用例,因为无法将和分成两部分都是偶数,输出应该是0。在这种情况下,所有可能的子集的和都是偶数,包括空集。因此,所有四种可能的子集选择(包括空集)都符合要求。对于这个数组,不可能找到一种分割方式,使得两个子集的和都是偶数。因此,没有符合条件的子集选择。动态规划:能用动态规划解决的问题,需要满足三个条件:最优子结构,无后效性和子问题重叠。这代表有两个测试用例。原创 2024-04-12 16:00:33 · 830 阅读 · 0 评论 -
蓝桥杯---蜗牛
问题的本质是求解蜗牛从起点到终点的最短时间。蜗牛可以选择直接爬行到下一个竹竿的底部,也可以利用传送门来快速移动。:在动态规划中,通常需要考虑边界情况。在这个问题中,就是第一个竹竿的情况,需要单独处理。:在动态规划中,我们需要定义状态以及状态之间的转移。原创 2024-04-10 20:14:54 · 637 阅读 · 0 评论 -
背包问题---
有N种物品和一个人容量是v背包,每种物品数量有限,第i件物品的体积为v[i],价值为w[i],数量为s[i],求解将哪些物品装入背包使得总价值最大。设状态dp[i][j]表示到第[i]组,体积为j的最大价值,在这里不能忽略第一维,否则可能导致状态转移错误!状态转移方程:dp[i][j]=max(dp[i-1][j],dp[i-1][j-w]+v)例题---小明的背包5小明有一个容量为V的背包。这天他去商场购物,商场一共有N组物品,第i组里有件物品,物品的体积为w,价值为v,对于每一组只能购买一件物品。原创 2024-04-05 23:45:00 · 1081 阅读 · 1 评论 -
动态规划基础
简称DP,通过把原问题分解为相对简单的子问题的方式求解复杂问题的方法。常常适用于有重叠子问题和最优子结构性质的问题。简单来说,就是给定一个问题,把它拆成一个个子问题,查到子问题可以直接解决。原创 2024-04-03 22:42:28 · 751 阅读 · 0 评论 -
搜索----
DFS(深度优先搜索)是基于递归求解问题。而针对搜索的过程。约定,对于问题的介入状态,叫初始状态,要求的状态叫目标状态。搜索就是对实时产生的状态进行分析检测,直到得到一个目标状态或符合要求的最佳状态为止。对于实时产生新的状态的过程叫扩展。原创 2024-04-02 23:45:31 · 249 阅读 · 0 评论 -
离散化、贪心、双指针、二分、倍增、构造、位运算
双指针算法通常用于在数组或字符串中进行快速查找、匹配、排序或移动操作。双指针并非真的用指针实现,一般用两个变量来表示下标(在后面都用指针来表示)。双指针算法使用两个指针在数据结构上进行迭代,并购根据问题的要求移动这些指针。双指针往往也和单调性、排序联系在一起,在数组的区间问题上,暴力法的时间复杂度往往是O(),但双指针利用”单调性“可以优化到O(n)。对撞指针快慢指针倍增 从字面的上意思看就是成倍的增长 ,这是指我们在进行递推时,如果状态空间。原创 2024-04-02 23:44:41 · 1732 阅读 · 0 评论 -
前缀和----指定区间求和
对于一个给定的数组A,它的前缀和数组S中[i]表示从第一个元素到第i个元素的总和。S[i] =:在O(1)的时间求出。原创 2024-03-12 17:12:51 · 556 阅读 · 1 评论 -
进制转换-
二进制、八进制、十进制数字下标法,对于不同进制的数可以将它们加上括号再用数字下标表示进制二进制:逢二进一基数为2,数值部分用两个不同的数字0、1来表示十进制:逢十进一基数为10,数值部分用0、1、2、3、4、5、6、7、8、9来表示十六进制:逢十六进一基数为16,有十六种数字符号,除了在十进制中的0至9外,还另外用6个英文字母A,B,C,D,E,F来表示十进制数的10至15。原创 2024-04-01 20:35:49 · 316 阅读 · 0 评论 -
模拟---算法
仅仅使用较简单的算法和数据结构的题目。模拟顾名思义,按照题目的要求,一步步写出代码。:模拟题目通常是具有码量大、操作多、思路繁复的特点。原创 2024-04-01 18:43:34 · 526 阅读 · 0 评论 -
枚举---算法
也称之为穷举算法,这种算法就是在解决问题的时候去使用所有的方式去解决这个问题,会通过推理去考虑事件发生的每一种可能,最后推导出结果。简单粗暴,它暴力的枚举所有可能,尽可能地尝试所有的方法。大部分题目使用枚举算法拿不到满分。原创 2024-04-01 13:09:42 · 627 阅读 · 0 评论 -
时间复杂度
是用来分析算法执行时间随着问题规模增大而增长的速度。衡量算法的执行效率。原创 2024-04-01 12:49:28 · 309 阅读 · 0 评论 -
桶排序---
的思想,把元素的值域分成若干段,每一段对应一个桶。在排序的时候,首先把每一个元素放到其对应的桶中,再对每一个桶中的元素分别i排序,再按顺序把每个桶中的元素依次取出,合并成最终答案。给定一个长度为n的数组a,请你将a排完序后输出。输出共一行,包含n个整数,表示排完序后的数组a。桶排序:一种非比较的排序算法。第一行包含一个整数n,表示数组a的长度。第二行包含n个整数,分别表示a1~an。原创 2024-03-31 23:14:46 · 559 阅读 · 0 评论 -
快速排序---算法
快速排序:通过一趟排序将待排记录分隔成,其中一部分记录的,则可分别对这两部分记录继续进行排序,以达到震哥哥序列有序。快速排序的最坏运行情况是O(),比如说顺序数列的快排。但它的平摊期望时间是O(),且()记号中隐含的常数因子很小,比的归并排序要小很多。所以,对绝大多数顺序性较弱的随机数列而言,快速排序总是由于归并排序。原创 2024-03-31 17:24:03 · 607 阅读 · 0 评论 -
归并排序---分治法
归并排序:是的一种有效的排序算法。算法是采用分治法的一个非常典型的应用,且。归并排序的思路简单,速度仅次于快速排序,为排序算法,一般用于对总体无序,但是各子项目相对有序的数列。时间复杂度。原创 2024-03-31 20:22:28 · 334 阅读 · 0 评论 -
插入排序---算法
插入排序:它的工作原理是通过构建有序排序,对于未排序数据,在已排序序列中从后向前扫描,找到相应位置插入。原创 2024-03-31 16:34:27 · 306 阅读 · 0 评论 -
选择排序---算法
首先在未排序列中找到最小(大)元素,存放到排序序列的起始位置,然后,再从剩余未排序元素中继。以此类推,直到所有元素均排序完毕。选择排序的思想其实和冒泡排序有些相似,都是在一次排序后把最小的元素放到最前面,或者将最大值放到最后面。但是过程不同,。而选择排序是通过对整体的选择,每一趟从前往后查找出无序区最小值,将最小值交换至无序区最前面的位置。原创 2024-03-31 16:15:33 · 294 阅读 · 0 评论 -
冒泡排序---算法
它重复地走访要排序的数列,一次比较两个元素,如果他们的顺序错误就把他们交换过来。走访数列的工作是重复地进行直到没有再需要交换,也就是说该数列已经排序完成。这个算法越小的元素会经由交换慢慢“浮”到数列的顶端。原创 2024-03-31 15:20:33 · 484 阅读 · 0 评论 -
蓝桥杯习题
示例:5 1 2 3 5 6。给定一个长度为N的数组A,请你先从小到大输出它的每个元素,再从大到小输出他的每个元素。第二行包含N个整数a1,a2,a3,...an,表示数组A的元素。输出共两行,每行包含N个整数,表示答案。第一行包含一个整数N。原创 2024-03-30 20:38:11 · 2599 阅读 · 1 评论 -
Queue对列
先进先出。原创 2024-03-30 20:37:57 · 247 阅读 · 0 评论 -
Stack栈
步骤:特点:先进先出。例题https://www.lanqiao.cn/problems/2490/learning/小蓝有一个长度为n的括号串,括号串仅有字符(、)构成,请你帮他判断一下该括号串是否合法,请输出Yes,反之输出No。合法括号序列:例如()(),(()),(())()均为合法括号序列输入格式:第一行包含一个正整数n,表示括号串的长度第二行包含一个长度为n的括号串输出格式:输出共1行,若括号串合法请输出yes,繁殖输出no样例 10原创 2024-03-30 17:16:12 · 411 阅读 · 0 评论 -
Map集合
无序。原创 2024-03-30 15:54:10 · 292 阅读 · 0 评论 -
Set集合
Set,不允许出现重复元素,并且无序的集合,主要有HashSet实现类在判断重复元素的时候,Set集合会调用HashCode()和equal()方法来实现。注重独一无二的性质,该体系集合可以知道某物是否已近存在于集合中,不会存储重复的元素用于存储(存入无序和取出的顺序不一定相同)元素,值不能重复。原创 2024-03-30 14:45:43 · 425 阅读 · 0 评论 -
排序---数组和集合
Arrays.sort(int[] a)这种形式是对一个数组的所有元素进行排序,并且是按照。o2 - o1 ----> 降序o1 - o2 ----> 升序。原创 2024-03-29 21:05:56 · 263 阅读 · 0 评论 -
List集合
与普通数组的区别就是它是没有固定大小的限制,可以。ArrayList类是一个看可以。ArrayList就是动态数组,提供了。原创 2024-03-29 18:39:07 · 489 阅读 · 0 评论 -
数组---
Java中,数组存储的同类型元素。数组是多个数据按一定的集合,并使用一个名字命名,通过编号的方式对这些数据进行统一的管理。引用数据类型初始化完成长度一旦确定就不能修改2、数组的声明元素的数据类型[] 一维数组的名称;(推荐)元素的数据类型 一维数组名[];(不推荐)元素的数据类型[][] 二维数组的名称;(推荐)元素的数据类型 二维数组名[];(不推荐)原创 2024-03-28 21:15:32 · 286 阅读 · 0 评论 -
大小写转换
String类的toLowerCase()方法可以将字符串中的所有字符全部转换成小写,而非字母的字符不受影响。语法格式:String类的toUpperCase()方法将字符串中的所有字符全部转换成小写,而非字母的字符不受影响。原创 2024-03-28 20:43:05 · 346 阅读 · 0 评论 -
常见的数学方法
Math类表示数学类,其中的数学方法都被定义成为static形式,所以可以直接通过Math类的类名调用某个数学方法。语法格式:Math.xxx(参数);输入n个整数a1,a2,a3,......an,求这n个数的最大值max,最小值min,以及|ai-aj|绝对值的最大值(i!实例:输入51 2 3 4 5输出1 5 4。原创 2024-03-28 19:50:32 · 362 阅读 · 0 评论 -
整数的反转
给定一个整数,请将该数各个位上数字反转得到一个新数。新数也应满足整数的常见形式,即除非给定的原数为零,否则反转后得到的新数的最高位数字不应为零。原创 2024-03-27 18:22:18 · 210 阅读 · 0 评论 -
String和StringBuilder
String类代表字符串。Java程序中的所有字符串文字(例如"abc")都能被实现为此类的实例。String类源码使用final修饰的,他们的值在创建后不能被更改,字符串缓冲区支持可变字符串。原创 2024-03-26 22:44:15 · 358 阅读 · 1 评论 -
输入与输出
Scanner是java5的新特性,在java.util包里,可以完成用户输入。next()接收读取不带空格的字符串nextLine()接收读取整段字符串。原创 2024-03-26 22:43:06 · 551 阅读 · 0 评论 -
Java接口
接口,在JAVA编程语言中是一个抽象类型,是抽象方法的集合,接口通常以interface来声明。一个类通过继承接口的方式,从而来继承接口的抽象方法。原创 2024-03-26 21:00:00 · 389 阅读 · 0 评论 -
Java方法
Java方法是语句的集合,他们在一起执行一个功能。方法是解决一类问题的步骤的有提高代码序组合方法包含于类或对象中方法在程序中被创建,在其他地方被引用。原创 2024-03-24 20:40:15 · 456 阅读 · 0 评论 -
Java基础类型
由低------------------------------------------------------>高。转换过程中可能导致溢出或损失精度:浮点数到整数的转换是通过舍弃小数得到,而不是四舍五入。八种基本数据类型和引用数据类型(对象、数组)不能对boolean类型进行类型转换。所有引用类型的默认值都是null。条件:转换的数据类型必须是兼容的。原创 2024-03-23 18:28:52 · 230 阅读 · 0 评论 -
Java修饰符与Java标识符
静态方法,static用来声明独立于对象的静态方法。静态方法只能调用静态方法和静态变量,不能使用类的非静态变量。静态方法从参数列表得到数据,然后计算这些数据。final,英文意思:最终的,最后的。当变量一旦赋值后,不能被重新赋值。静态变量,static关键字用来声明独立于对象的静态变量。局部变量不能被声明为static变量。1、包名、类名、方法名、参数名、变量名等,这些符号被称为标识符。3、标识符不能以数字开头,不能是iava中的关键字和保留字。2、标识符可以由字母、数字、下划线和美元符号$组成。原创 2024-03-23 17:59:16 · 312 阅读 · 0 评论 -
蓝桥杯---分小组
我们标记运动员为 A,B,C .... I。9名运动员参加比赛,需要分3组进行预赛.下面的程序列出了所有的分组方法。有哪些分组的方案呢?原创 2024-02-06 19:04:32 · 903 阅读 · 0 评论 -
蓝桥杯----凑算式
注意:你提交应该是个整数,不要填写任何多余的内容或说明性文字。这个算式中A~I代表1~9的数字,不同的字母代表不同的数字。6+8/3+952/714 就是一种解法,5+3/1+972/486 是另一种解法.这个算式一共有多少种解法?原创 2024-02-05 17:06:54 · 2309 阅读 · 0 评论 -
蓝桥杯---生日蜡烛
某君从某年开始每年都举办一次生日party,并且每次都要吹熄与年龄相同根数的蜡烛,现在算起来,他一共吹熄了236根蜡烛。请问,他从多少岁开始过生日party的?注意:你提交的应该是一个整数,不要填写任何多余的内容或说明性文字。请填写他开始过生日 party的年龄数。原创 2024-02-03 23:30:09 · 661 阅读 · 0 评论 -
蓝桥杯---煤球数目
注意:你提交的应该是一个整数,不要填写任何多余的内容或说明性文字.如果一共有100层,共有多少个煤球?有一堆煤球,堆成三角棱锥形。第四层10个(排列成三角形),第二层3个(排列成三角形),第三层6个(排列成三角形),请填表示煤球总数目的数字.原创 2024-02-02 23:37:58 · 583 阅读 · 0 评论 -
蓝桥杯---垒骰子
请严格按要求输出,不要画蛇添足地打印类似:“请您输入 …注意:不要使用package语句。不要使用jdk1.7及以上版本的特性。所有代码放在同一个源文件中,调试通过后,拷贝提交该源码。注意:主类的名字必须是:Main,否则按无效代码处理。峰值内存消耗(含虚拟机)原创 2024-02-01 10:24:43 · 763 阅读 · 0 评论 -
蓝桥杯----饮料代购
乐羊羊饮料厂正在举办一次促销优惠活动。乐羊羊C型饮料,凭3个瓶盖可以再换一瓶C型饮料,并且可以一直循环下去,但不允许赊账。请你计算一下,如果小明不浪费瓶盖,尽量地参加活动,那么,对于他初始买入的n瓶饮料,最后他一共能得到多少瓶饮料。输入:一个整数n,表示开始购买的饮料数量 (0原创 2024-01-31 12:44:04 · 486 阅读 · 0 评论