蓝桥杯备赛
文章平均质量分 51
java算法
u8392i120qj8
数学跨考人工智能
展开
-
赛前救急
2.大树的用Python做。原创 2023-04-07 21:20:17 · 138 阅读 · 0 评论 -
java常用方法总结
21.tocharArray将字符串转数组。8. 字符串比较用compareTo方法。字符串转数组用charAt一一取出或者用。30. 字符串数组中字符串比较大小。31. list.add是插在开头。11. 字符数组转字符串就用。19. 滚动hash算法。25. list对应语法。1.转化成二进制输出。18.计算hash值。22.判断是否是闰年。原创 2023-04-07 10:16:50 · 92 阅读 · 0 评论 -
动态规划专题练习
例如,如果当前小蓝在第 33 行第 55 列,他下一步可以走到第 33 行第 66 列、第 33 行第 77 列、第 33 行第 88 列、第 44 行第 55 列、第 44 行第 66 列、第 44 行第 77 列、第 55 行第 55 列、第 55 行第 66 列、第 66 行第 55 列之一。小蓝可以在方格图上走动,走动时,如果当前在第 rr 行第 cc 列,他不能走到行号比 rr 小的行,也不能走到列号比 cc 小的列。在图中,有的位置有奖励,走上去即可获得,有的位置有惩罚,走上去就要接受惩罚。原创 2023-04-06 21:11:19 · 111 阅读 · 0 评论 -
DFS专题练习
由于全球变暖导致了海面上升,科学家预测未来几十年,岛屿边缘一个像素的范围会被海水淹没。具体来说如果一块陆地像素与海洋相邻(上下左右四个相邻像素中有海洋),它就会被淹没。其中"上下左右"四个方向上连在一起的一片陆地组成一座岛屿。例如上图就有 2 座岛屿。请你计算:依照科学家的预测,照片中有多少岛屿会被完全淹没。原创 2023-04-07 10:58:29 · 141 阅读 · 0 评论 -
第八届省赛真题
【代码】第八届省赛真题。原创 2023-04-07 10:30:02 · 92 阅读 · 0 评论 -
最小生成树——prim+kruskal
最小生成树java代码原创 2023-04-07 16:51:02 · 129 阅读 · 0 评论 -
第十一届国赛真题
注意考虑最后一个k要++原创 2023-03-30 10:47:30 · 56 阅读 · 0 评论 -
第十二届省赛真题
求出它的所有因子,然后三层循环遍历即可。原创 2023-03-28 08:33:58 · 83 阅读 · 0 评论 -
第九届省赛真题
以右下角为参照点,上是4,8,12,下是2,6,10等差数列,求和是。按照时间排序,从t1开始到t1+d的时间里计数id,计数使用map。只算第一象限里的,非坐标轴上的点即可。,到参照的点的距离是d,s-d就是。6.找规律,等差数列。原创 2023-03-26 10:10:31 · 87 阅读 · 0 评论 -
3月7日算法刷题
1.特殊时间。原创 2023-03-25 09:28:10 · 233 阅读 · 0 评论 -
第十三届省赛真题
技巧:如何判断区间[i,j]是否可以组成一段连续的自然数?只需区间最大值 - 区间最小值 == j - i (区间长度)即可。原创 2023-03-25 09:16:22 · 79 阅读 · 0 评论 -
第十届省赛真题
2.不同子串3. 数列求值递归直接overflow了4.数的分解。原创 2023-03-18 16:50:51 · 62 阅读 · 0 评论 -
第十四届校内模拟赛第三期
注意边界语法和大小写。原创 2023-03-25 09:23:46 · 68 阅读 · 0 评论 -
深度优先搜索DFS
给定整数序列a1,a2,... an,判断是否可以从中选出若干数,使它们的和恰好为k。有一个大小为NxM的园子,雨后积起了水。八连通的积水被认为是连接在一 起的。园子里总共有多少水洼?(八连通指的是下图中相对W的*的部分)【算法】可以用子集的二进制方法,对于每个元素要或者不要。园子如下图('W'表示积水,'. '表示没有积水)【算法】为了防止重复找到一个有水的地方就将水抽干。只有y=8的时候,除法才能=1,此时x++填字保证每一行每一列的数字都是1-9。原创 2023-03-01 10:21:12 · 88 阅读 · 0 评论 -
递归
假设我们有8种不同面值的硬币{1, 2, 5, 10, 20, 50, 100, 200} ,用这些硬币组合构成一个给定的值n。例如n=200,那么一种可能的组合方式为200 = 3 * 1 + 1*2 + 1*5+ 2*20+1*50+1*100。有一个X*Y的网格,一个机器人只能走格点且只能向右或向下走,要从左上角走到右下角。给定两个正整数int x,int y,请返回机器人的走法数目。【算法】递推公式f(x,y)=f(x,y-1)+f(x-1,y)set不能用下标迭代,只能用foreach迭代。原创 2023-02-28 11:55:48 · 103 阅读 · 0 评论 -
动态规划
【问题描述】有n个重量和价值为wi, vi的物品,从这些物品中挑选出总重量不超过W的物品,求所有挑选方案中价值总和的最大值。有n个重量和价值分别为wi,vi的物品, 从这些物品中挑选出总重量不超过W的物品,求所有挑选方案中价值总和的最大值。扫描dp数组可以用二分法,因为有序,一直是替换第一个比他大的 ,在优化之后,可以达到O(NLgN)max(v[i]+dp[i][j-w[i]],dp[i-1][j]) 选当前行或者不选当前行。1替换第一个比他大的数字,维持长度,相对较大的数作更大的贡献。原创 2023-02-21 10:56:46 · 66 阅读 · 0 评论 -
贪心策略
此外,参与工作的时间段不能重复(即使是开始的瞬问和结束的瞬间的重叠也是不允许的)。【问题描述】有1元,5元,10元,50元,100元,500元的硬币各c1, c5, c10, c50, c100, c500枚,现在要用这些硬币来支付A元,最少需要多少枚。贪心策略:考虑最轻的人i,如果每个人都无法和他-起坐船(重 量和超过C,则唯-的方案是每个人坐- 艘否则,他应该选择能和他-起坐船的人中最重的一个j。找最优解是贪心,找解的数量是递归。【算法】按结束时间排序,注意题目没说有序,所以要先排序,选择结束最早的。原创 2023-02-18 10:58:46 · 89 阅读 · 0 评论 -
数学问题(数论)
【问题描述】要求(A/B)%9973,但由于A很大,我们只给出n(n=A%9973)(我们给定的A必能被B整除,且gcd(B,9973)= 1)。算法的停止状态是a'x+b'y=gcd 此时x=1,y为任意数,因此要逆推到最开始状态,a%b = a - (a/b)*b。1(mod n),gcd(a,n)= 1的求解就是求解方程ax+ny= 1,x, y为整数。【优化】如果d是n的约数,那么n/d也是n的约数,由n = d * (n/d) 可知,d原创 2023-01-03 11:41:08 · 373 阅读 · 0 评论 -
树、二叉树、堆排序
【算法】已排序算数组--->二分法 ,2个指针头和尾,-8+10=210,右指针左移直到2+8=10,2+5=7,4+5=9。【问题描述】给定一个无序数组arr,求出需要排序的最短子数组长度,要求O(N),如输入arr={2,3,7,5,4,6},返回4,因为只有{7,5,4,6}需要排序。(1)先序遍历(根左右):78,56,43,2,23,4,34,1,15。(2)中序遍历(左根右):2,43,23,56,4,78,1,34,15。原创 2023-04-07 10:30:43 · 121 阅读 · 0 评论 -
多维数组与矩阵
【问题描述】给定一个数组arr ,返回子数组的最大累加和,例: arr=[1,-2,3,5,-2,6,-1]所有的子数组中[3,5,-2,6]可以累加出最大的和12 ,所以返回12。【优化】预处理,复制一份空的与原矩阵阶数相同的矩阵,记录其右和下(包含他自己的1的个数),只检测4个数就行,三维数组。【问题描述】给定一个NxN的矩阵matrix,在这个矩阵中,只有0和1两种值,返回边框全是1的最大正方形的边长长度。【问题描述】给定一个矩阵matrix ,其中的值有正、有负、有0 ,返回子矩阵的最大累加和。原创 2022-12-28 19:50:14 · 107 阅读 · 0 评论 -
字符串问题
假定该字符串有足够的空间存放新增的字符(字符串在java中是不可变的,不会动态开放空间,动态增加应使用StringBuilder),并且知道字符串的真实长度(小于等于1000),同时保证字符串由大小写的英文字母组成。假定字符集为ASCII,对于这个问题,我们可以做一个简单的优化,若字符串的长度大于字母表中的字符个数,则直接返回false。【算法2】若均为ASCII编码,建立一个计数数组,字符转数组,原字符串加,后字符串减,出现-1直接返回false,最后再扫描一下看是否有大于0的。字符数组转字符串就用。原创 2022-12-28 19:51:44 · 193 阅读 · 0 评论 -
分治法(快速排序、归并排序)
4.快速排序重在划分,分解:数组A[p..r]被划分为两个子数组A[p. .q-1]和A[q+1,r],使得A[q]为大小居中的数,左侧A[p. .q-1]中的每个元素都小于等于它,而右侧A[q+1,r]中的每个元素都大于等于它。要求时间复杂度为O(n)。3.归并排序重在合并,从中间划分,左边排序(2,4,6,8),右边排序(1,3,5,7),合并(1,2,3,4,5,6,7,8)【算法2】使用快速排序的思想,两个指针,一个从左开始扫描,一个从右开始扫描,左边扫描到偶数停,右边扫描到奇数停,然后进行交换。原创 2022-12-28 19:49:25 · 3394 阅读 · 0 评论 -
递归、查找与排序
输入一个递增排序的数组的一个旋转,输出旋转数组的最小元素。例如数组{3,4,5,1,2}为{1,2,3,4,5}的一一个旋转,该数组的最小值为1。【问题描述】小白正在上楼梯,楼梯有n阶台阶,小白一次可以上1阶, 2阶或者3阶,实现一个方法,计算小白有多少种走完楼梯的方式。【问题描述】有个排序后的字符串数组,其中散布着一些空字符串 ,编写一个方法,找出给定字符串的索引。【问题描述】(1,9,2,5,7,3,4,6,8,0)中最长的递增子序列为(3,4,6,8)2.辗转相除法求最大公约数。原创 2022-12-28 19:48:30 · 153 阅读 · 0 评论 -
位运算(&、|、^)
1.在处理整型数值时,可以直接对数值的各个位进行操作,即可用屏蔽技术获得整数中的各个位2.&(与:都为1结果才为1)、|(或:有一个为1结果为1)、^(异或:二者不同时结果为1)、~(非)3.>>(右移)、>用0填充高位,>>用符号位填充高位,没有原创 2022-12-28 19:45:49 · 277 阅读 · 0 评论