🌸记录蓝桥杯javaB组省赛题目解题方法总结对比
🌸解题方法汇总(java B组省赛)
1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | |
---|---|---|---|---|---|---|---|---|---|---|
第四届 | 日期(API)、吉姆拉尔森公式 | 暴力枚举 | 暴力深搜 | 递归、大数类 | 逻辑模拟 | 逻辑模拟 | 暴力查找(类集框架) | 模拟过程 | 全排列、逻辑判断、逻辑枚举的条件判断,枚举所有情况 | 题意理解,思维的巧妙运用 |
第五届 | 数学逻辑 | 数学逻辑 | 字符串、暴力模拟 | 数学、奇偶数 | 数学逻辑 | 暴力枚举 | 全排列、逻辑检查 | 模拟过程 | 深度优先、过程模拟搜索、记忆化递归 | -1 |
第六届 | 简单数学计算 | 暴力枚举 | 暴力枚举 | 模拟过程发现小技巧 | 全排列 | 数学规律 | 递归 | 模拟过程 | 递归、动态规划、矩阵快速幂 | 递归最多一万层 |
第七届 | 数学规律 | 暴力枚举 | 暴力全排列 | 组合,规律 | 递归、组合 | 暴力、全排列 | 组合、深搜、图、联通分量 | 首先暴力、暴力优化(四层到两层)哈希 | 递归模拟过程、细节很重要 | -1 |
第八届 | Excel、耐心敲代码计算、暴力计算器、 | 全排列 | 二维数组找规律 | -1 | 过程模拟分析 | 动态规划 | API、日期的细心判断(主要是细心找到每一个满足的条件) | 动态规划、扩展欧几里得、完全背包 | 数学规律、模拟过程 | 暴力、前缀和优化、取模运算 |
第九届 | 日期、计算器(注意加一天) | 暴力计算、勾股定理 | 大数类、数很大输入到文件 | 动态规划、递归、二分 | 随机快速排序、递归 | 暴力、优化(二分)、(双指针) | 画图、画过程模拟、找出数学规律、等差数列求和、绝对值的消去 | 面向对象的思维模拟、类的自定义排序、思维逻辑的严密性 | 暴力深搜、DFS查找联通分量的个数 | -1(乘法逆元) |
第十届 | 综合分析、求最大值 | 暴力求子串、Set集合 | 暴力求值、有坑(只需要关注数的后四位,不然数字太大存不了) | 暴力分解、条件判断 | 求最短路径、广度优先、深度优先、节点判断 | 暴力破解 | 模拟过程、注意合理运用变量和数组,利用二维数组和多个一维数组可以代替复杂的数据结构 | 逻辑分析与严密性、字符串正则以及API的使用 | 逻辑思维的分析与严密性、需要去考虑繁杂的所有可能的情况然后写出结果 | -1 |
第十一届 | 手工计算、代码计算时注意减法时的边界不能减到负数 | 日期、计算器、日期类 | 数学求最值、求算数不等式相等时的边界情况 | -1(找规律,用代码去模拟题目要求程序计算的过程) | 动态规划、找出存放规律与状态的转移方程 | 暴力取模、优化(位运算>>取代 / )(即n = n>> 1 相当于 n = n / 2) | 熟练使用API、StringBuilder以及字符串的判断、总的来说就是暴力模拟 | 深度优先搜索、动态规划 | 暴力拼接(双重for)、优化(二维数组、位数取取余等) | -1 |
第十二届 |
🌸黄金分割数与斐波那契数列的关系
1 | 比较简单的一种是用连分数: |
可以分析得出
1 | 第二层 1/2 后两位 |
1 | import java.math.BigDecimal; |
🌸圆周率与连分数
1 | 4 1 |
1 | double x = 111; |
🌸吉姆拉尔森公式
1 | private static int whatday(int y, int m, int d) { |
🌸复数幂(复数的阶乘)(了解打印流的使用文本)
复数计算的规律 尝试用 (a+bi)(c+di) = (ac - bd) + (ad + b*c)i
1 | import java.io.File; |
🌸扔鸡蛋问题(摔手机)(面试题)(动态规划)
你将获得 K 个鸡蛋,并可以使用一栋从 1 到 N 共有 N 层楼的建筑。
每个蛋的功能都是一样的,如果一个蛋碎了,你就不能再把它掉下去。
你知道存在楼层 F ,满足 0 <= F <= N 任何从高于 F 的楼层落下的鸡蛋都会碎,从 F 楼层或比它低的楼层落下的鸡蛋都不会破。
每次移动,你可以取一个鸡蛋(如果你有完整的鸡蛋)并把它从任一楼层 X 扔下(满足 1 <= X <= N)。
你的目标是确切地知道 F 的值是多少。
无论 F 的初始值如何,你确定 F 的值的最小移动次数是多少?
1 | class 鸡蛋解法力扣 { |
x星球的居民脾气不太好,但好在他们生气的时候唯一的异常举动是:摔手机。
各大厂商也就纷纷推出各种耐摔型手机。x星球的质监局规定了手机必须经过耐摔测试,并且评定出一个耐摔指数来,之后才允许上市流通。
x星球有很多高耸入云的高塔,刚好可以用来做耐摔测试。塔的每一层高度都是一样的,与地球上稍有不同的是,他们的第一层不是地面,而是相当于我们的2楼。
如果手机从第7层扔下去没摔坏,但第8层摔坏了,则手机耐摔指数=7。
特别地,如果手机从第1层扔下去就坏了,则耐摔指数=0。
如果到了塔的最高层第n层扔没摔坏,则耐摔指数=n
为了减少测试次数,从每个厂家抽样3部手机参加测试。
某次测试的塔高为1000层,如果我们总是采用最佳策略,在最坏的运气下最多需要测试多少次才能确定手机的耐摔指数呢?
请填写这个最多测试次数。
1 | public class Main{ |
🌸日期类(SimpleDateFormat +Date)
1 | public static class Main{ |
1 | //直接使用 Date |