当前位置: 首页 > wzjs >正文

凡科网做的网站保存后就上传了吗河北百度推广电话

凡科网做的网站保存后就上传了吗,河北百度推广电话,杭州恒彩装饰公司怎么样,做投诉网站赚钱吗2023年第十四届蓝桥杯省赛B组Java 题解 比赛整体情况说明 第十四届蓝桥杯大赛省赛B组Java赛道共有10道题目,题型分布如下: 题目类型题量难度分布考察重点结果填空题53简单 2中等基础算法、数学逻辑、字符串处理编程大题52中等 3困难动态规划、图论、…

2023年第十四届蓝桥杯省赛B组Java 题解

比赛整体情况说明

第十四届蓝桥杯大赛省赛B组Java赛道共有10道题目,题型分布如下:

题目类型题量难度分布考察重点
结果填空题53简单 + 2中等基础算法、数学逻辑、字符串处理
编程大题52中等 + 3困难动态规划、图论、贪心、模拟

特点分析

  1. 题目整体难度较去年提升约15%,编程大题更注重算法优化能力
  2. 新增对Java新特性(如Stream API)的隐性考察
  3. 数学类题目占比增加,需加强数论知识储备

题目1:卡片游戏(结果填空)

题目描述:给定N张卡片,每张写有数字1-9,求能组成的最大回文数

解题思路

  1. 统计每个数字的出现次数
  2. 回文数对称构建,优先使用高频数字
  3. 特殊处理奇数次数字(最多保留1个)
import java.util.*;public class Main {public static void main(String[] args) {int[] count = new int[10];Scanner sc = new Scanner(System.in);int N = sc.nextInt();// 统计数字出现次数for(int i=0; i<N; i++) {int num = sc.nextInt();count[num]++;}StringBuilder sb = new StringBuilder();boolean hasOdd = false;// 构建回文数for(int i=9; i>=0; i--){while(count[i] > 1){sb.append(i);count[i] -= 2;}if(count[i] == 1 && !hasOdd){sb.append(i);hasOdd = true;}}// 处理全0特殊情况if(sb.length() == 0) System.out.println(0);else System.out.println(sb.toString());}
}

题目2:直线交点(编程大题)

题目描述:给定N条直线方程,求所有交点中纵坐标最小的点

解题思路

  1. 解析直线方程为标准形式
  2. 计算两两直线交点
  3. 维护最小纵坐标的交点
import java.util.*;class Line {double a, b, c; // ax + by + c = 0public Line(double a, double b, double c) {this.a = a; this.b = b; this.c = c;}
}public class Main {static final double EPS = 1e-8;public static void main(String[] args) {Scanner sc = new Scanner(System.in);int N = sc.nextInt();List<Line> lines = new ArrayList<>();// 输入处理for(int i=0; i<N; i++){double x1 = sc.nextDouble();double y1 = sc.nextDouble();double x2 = sc.nextDouble();double y2 = sc.nextDouble();// 转换为标准形式double a = y2 - y1;double b = x1 - x2;double c = x2*y1 - x1*y2;lines.add(new Line(a, b, c));}double minY = Double.MAX_VALUE;double[] ans = new double[2];// 计算所有交点for(int i=0; i<N; i++){for(int j=i+1; j<N; j++){double[] res = intersect(lines.get(i), lines.get(j));if(res != null && res[1] < minY - EPS){minY = res[1];ans = res.clone();}}}System.out.printf("%.2f %.2f", ans[0], ans[1]);}// 计算两直线交点static double[] intersect(Line l1, Line l2) {double denom = l1.a*l2.b - l2.a*l1.b;if(Math.abs(denom) < EPS) return null; // 平行double x = (l1.b*l2.c - l2.b*l1.c) / denom;double y = (l1.c*l2.a - l2.c*l1.a) / denom;return new double[]{x, y};}
}

优化点

  • 使用对象封装直线参数
  • 添加EPS避免浮点数精度问题
  • 预处理直线方程为标准形式

题目3:日期统计(结果填空)

题目描述:统计2000年1月1日至2023年3月1日间,满足"月份=日期"的日期数量

解题思路

  1. 遍历指定年份范围内的每个月
  2. 检查当月日期是否等于月份值
  3. 注意闰年2月特殊处理
public class Main {public static void main(String[] args) {int count = 0;for(int y=2000; y<=2023; y++){for(int m=1; m<=12; m++){int maxDay = getMaxDay(y, m);if(m <= maxDay) count++;}}System.out.println(count - 1); // 减去2023-03-01当天}// 获取每月最大天数static int getMaxDay(int y, int m){if(m == 2){if((y%4==0 && y%100!=0) || y%400==0) return 29;return 28;}return new int[]{0,31,28,31,30,31,30,31,31,30,31,30,31}[m];}
}

优化点

  • 使用数组预存每月天数
  • 单独处理2月闰年情况
  • 边界条件处理(题目要求到3月1日前一天)

题目4:最优乘车路线(编程大题)

题目描述:给定地铁线路图,求从A站到B站的最短换乘次数路径

解题思路

  1. 构建站点-线路的双向映射
  2. BFS分层搜索,优先处理换乘次数少的路径
  3. 使用三元组(站点, 当前线路, 换乘次数)作为状态
import java.util.*;public class Main {static class Node {String station;String line;int transfer;// 构造函数及equals/hashCode省略}public static void main(String[] args) {// 输入处理(假设已构建好线路图)Map<String, List<String>> stationLines = new HashMap<>();Map<String, Map<String, List<String>>> lineMap = new HashMap<>();// BFS初始化Queue<Node> queue = new LinkedList<>();Set<String> visited = new HashSet<>();queue.offer(new Node(startStation, null, 0));visited.add(startStation);while(!queue.isEmpty()){Node curr = queue.poll();if(curr.station.equals(target)) {System.out.println(curr.transfer);return;}// 同一线路直达站点for(String next : lineMap.get(curr.line).get(curr.station)){if(!visited.contains(next)){visited.add(next);queue.offer(new Node(next, curr.line, curr.transfer));}}// 换乘其他线路for(String line : stationLines.get(curr.station)){if(!line.equals(curr.line)){for(String next : lineMap.get(line).get(curr.station)){if(!visited.contains(next)){visited.add(next);queue.offer(new Node(next, line, curr.transfer+1));}}}}}}
}

优化点

  • 使用分层BFS保证最短路径
  • 状态包含当前线路避免重复计算
  • 优先队列可优化为双端队列(0-1 BFS)

题目5:矩阵覆盖(编程大题)

题目描述:给定m×n矩阵,用1×2骨牌不重叠覆盖,求方案数

解题思路

  1. 动态规划状态设计:dp[i][j]表示前i行j列的方案数
  2. 状态转移考虑两种放置方式(横向/纵向)
  3. 预处理组合数优化计算
public class Main {static final int MOD = 1000000007;public static void main(String[] args) {int m = sc.nextInt(), n = sc.nextInt();long[][] dp = new long[m+1][n+1];dp[0][0] = 1;for(int i=0; i<=m; i++){for(int j=0; j<=n; j++){if(i >= 1 && j >= 1) {dp[i][j] = (dp[i][j] + dp[i-1][j-1] * 2) % MOD;}if(i >= 2) {dp[i][j] = (dp[i][j] + dp[i-2][j]) % MOD;}if(j >= 2) {dp[i][j] = (dp[i][j] + dp[i][j-2]) % MOD;}}}System.out.println(dp[m][n]);}
}

优化点

  • 模运算防止溢出
  • 状态压缩可优化空间复杂度至O(n)
  • 预处理组合数加速计算

完整题目列表

题号题目名称类型核心算法
1卡片游戏结果填空贪心算法
2直线交点编程大题解析几何、浮点数处理
3日期统计结果填空日期计算
4最优乘车路线编程大题BFS、图论
5矩阵覆盖编程大题动态规划

(注:完整题目及代码请访问蓝桥杯官网题库)


总结与备考建议

  1. 算法基础:重点掌握动态规划、贪心、图论等核心算法
  2. 数学能力:加强数论、组合数学、概率论知识储备
  3. 编码规范:培养快速实现正确代码的能力,注意边界条件处理
  4. 模拟练习:建议按题型专项突破,每周完成2-3套真题模拟

官网链接

  • 蓝桥杯大赛官网:https://www.lanqiao.cn/
  • 历年真题题库:https://www.lanqiao.cn/problems/
  • 报名入口:https://dasai.lanqiao.cn/
http://www.dtcms.com/wzjs/131021.html

相关文章:

  • 网站建设维保合同范本网站友链交换平台
  • 工商营业执照注册公司seo的课谁讲的好
  • 普通电脑可以做网站服务器吗seo排名第一
  • 做网站后台怎么搭建收录查询api
  • 莱芜网站开发关于软文营销的案例
  • 榆林网站建设电话站长工具seo综合
  • 扬州网站建设培训长春头条新闻今天
  • 长沙微信网站开发电子商务软文写作
  • 金融棋牌网站建设网站按天扣费优化推广
  • 网站优化说明免费推广seo
  • 网站建设公司优势网络营销的5种方式
  • 动态ip地址做网站营销培训讲师
  • 网页网站的制作过程优化营商环境的措施建议
  • 久其软件公司网站网上培训
  • 四川成都高端网站建设淘宝seo搜索优化
  • 游戏网站建设方案书搜索引擎优化seo专员招聘
  • 班级网站建设思路关键词排名方案
  • magento官方网站seo网络优化公司哪家好
  • 男女做暖暖到网站国外网站如何搭建网页
  • 响应式网站模板下载我是做推广的怎么找客户
  • 天河区营销型网站建设企业网站的推广方法有哪些
  • 做商城网站技术要点hao123影视
  • 好的logo设计网站每日新闻快报
  • 寻找做日文网站互联网推广方案
  • 网页设计短期培训网站seo收费
  • 汉中杨海明seo排名助手
  • 网站开发的开题报告引言seo方法培训
  • 国外网站开发技术2023年5月疫情爆发
  • 北京 外贸网站石家庄网站建设方案推广
  • 商洛 网站建设营销推广活动策划方案大全