
前言 :
4月12日蓝桥杯省赛,准备按照自己过往的经验去冲刺,下面这些知识点都是比较基础。但巩固下来省一真的轻轻松松,我去年省一就做了三道半基础题!!所以大家放心冲刺。跟紧我的脚步!!2024届蓝桥杯javaB组省一分享经验&题目_蓝桥杯java可以用idea吗-优快云博客
计划:
准备复习的知识点:快速输入输出,基础api(进制转换),前缀和与差分,二分,双指针,期望,搜索,动态规划,贪心,字符串,队列和栈,树与图(基础部分),模板(快速幂,并查集,gcd,素数筛,逆元)!
| 天数 | 知识点 | 题目 | 说明 |
|---|---|---|---|
| 第一天 4月7日 |
快速输入输出,前缀和与差分,二分,双指针,基础api(进制转换等等) | 1.ROG 2.棋盘 3,分巧克力 4,全部都有的子序列 |
(简单)第一天主要是先初步熟悉api。知道api有哪些,怎么去用。然后刷一些基础算法的题目 时长:4小时左右 |
| 第二天 4月8日 |
贪心,期望,搜索,基本数据结构(队列,栈,队) | 1,最优分解 2,dfs实现组合型枚举 3,分布式队列 |
(中等)(中等)这里面就搜索稍微比较难想到一些 |
| 第三天 | 动态规划,树与图(基础部分) | (困难) | |
| 第四天 | 背模板(快速幂,并查集,gcd,素数筛,逆元) | (中等) | |
| 第五天 | 计时刷真题卷,模拟真实考试场景。 |
第一天
(非常重要)快速输入输出
直接背模版:蓝桥刷题笔记
后面的解题都使用了快输快入,但为了节省篇幅,所以该文章题解只提供了main方法的代码。
(前缀和)题目:ROG(1.5小时)
知识点链接:蓝桥刷题笔记 (可能有的图片不显示,可以查看网页左边,的pdf版本)
题目链接:题库 - 蓝桥云课
思路:先求R串的数量,再求RO串的数量,最后求ROG串的数量!
我的代码:
public static void main(String[] args) {
long mod = 998244353;
String str = in.nextLine();
String[] params = str.split(" ");
int n = Integer.parseInt(params[0]);
int m = Integer.parseInt(params[1]);
char[][] arr = new char[n][m];
for (int i = 0; i < n; i++) {
arr[i] = in.next().toCharArray();
}
int[][] arrR = new int[n][m];
int[][] arrO = new int[n][m];
if(arr[0][0] == 'R') {
arrR[0][0] = 1;
}
//记录R的前缀和
for (int i = 1; i < m; i++) {
arrR[0][i] = arr[0][i] == 'R' ? arrR[0][i-1]+1 : arrR[0][i-1];
}
for (int i = 1; i < n; i++) {
arrR[i][0] = arr[i][0] == 'R' ? arrR[i-1][0]+1 : arrR[i-1][0];
}
for (int i = 1; i < n; i++) {
for (int j = 1; j < m; j++) {
int value = arrR[i-1][j] + arrR[i][j-1] - arrR[i-1][j-1];
arrR[i][j] = arr[i][j] == 'R' ? value+1 : value;
}
}
//记录RO的前缀和
for (int i = 1; i < m; i++) {
arrO[0][i] = arr[0][i] == 'O' ? arrR[0][i]+arrO[0][i-1] : arrO[0][i-1];
}
&n

最低0.47元/天 解锁文章
1401

被折叠的 条评论
为什么被折叠?



