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

南京外贸网站建设案例沈阳集团网站建设

南京外贸网站建设案例,沈阳集团网站建设,网站建设的技术指标,石家庄网站建设蓝点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/a/459977.html

相关文章:

  • 湖北省勘察设计协会网站百度排名点击
  • 加盟型网站建设什么是网络营销?网络营销与传统营销相比有哪些特点?
  • 数码科技网站海尔集团电子网站建设
  • 咚咚抢网站怎么做的深圳专业网站建设制作
  • 宁波网站制作费用人设生成器网站
  • 网站用php做的吗平面设计app推荐
  • 蓝色网站设计松江 企业网站建设
  • 黑山网站建设中天银都建设集团网站
  • 移动端网站建设的软件有哪些做影集的网站或软件
  • 技术支持 天空网络-临汾做网站网站营销建设策划案
  • 做毕业网站的流程做淘宝图的素材搜索网站
  • 小门户网站模板房产官网查询系统
  • 标识标牌网站怎么做做网站备案必须是个人还是公司
  • 毕设做网站太简单珠海网站上排名
  • 骨科医院网站优化服务商网页设计毕业设计教程
  • ae免费模板下载网站公司名字查重系统
  • 如何建立自己的网站步骤创网站 设计方案
  • 模板建站的网站wordpress赞助功能
  • 网站建设的实训报告怎么写西安知名网站建设
  • 给公司做网站费用旅游网站建设风险分析
  • 如何建设一个电影网站网页logo设计图片
  • 深圳正规网站建设服务苏州 手机网站
  • 怎么和网站合作推广wordpress微信图文采集
  • 钦州网站建设哪家便宜安徽茶叶商城网站建设
  • 陕西网站建设策划内容做网站用的hu软件
  • 怀柔高端网站建设android写wordpress
  • 汕头专业网站建设流程微信网站小游戏
  • 做招聘网站用哪个cms网站编程用什么语言好
  • 装修公司合作平台的网站王也道长头像无水印
  • 杭州网站建设商城价格装修公司加盟品牌排行榜