蓝桥杯上岸考点清单 (冲刺版)!!!

news/2024/12/1 12:56:00/

大家好 我是寸铁💪

真题千千万万遍,蓝桥省一自然现! ✌️

日更3000里,蓝桥眷顾你 🌟

暴力出奇迹,打表过样例 👊

冲刺蓝桥杯省一模板大全来啦 🔥

蓝桥杯4月8号就要开始了 🙏

距离蓝桥杯省赛倒数第3天 ❗️ ❗️ ❗️

还没背熟模板的伙伴们背起来 💪 💪 💪

真题千千万万遍,蓝桥省一自然现! ✌️

日更3000里,蓝桥眷顾你 🌟

暴力出奇迹,打表过样例 👊

祝大家4月8号蓝桥杯上岸 ☀️

不清楚蓝桥杯考什么的点点下方👇

考点秘籍

想背纯享模版的伙伴们点点下方👇

蓝桥杯省一你一定不能错过的模板大全(第一期)

蓝桥杯省一你一定不能错过的模板大全(第二期)

蓝桥杯省一你一定不能错过的模板大全(第三期)

蓝桥杯省一你一定不能错过的模板大全(第四期)!!!

想背注释模版的伙伴们点点下方👇

蓝桥杯必背第一期

蓝桥杯必背第二期

往期精彩回顾

蓝桥杯上岸每日N题 第一期(一)!!!

蓝桥杯上岸每日N题第一期(二)!!!

蓝桥杯上岸每日N题第一期(三)!!!

蓝桥杯上岸每日N题第二期(一)!!!

蓝桥杯上岸每日N题第三期(一)!!!

蓝桥杯上岸每日N题 第四期(最少刷题数)!!!

蓝桥杯上岸每日N题 第五期(山)!!!

蓝桥杯上岸每日N题 第六期(求阶乘)!!!

蓝桥杯上岸每日N题 第七期(小猫爬山)!!!

蓝桥杯上岸每日N题 第八期 (全球变暖)!!!

操作系统期末题库 第九期(完结)

LeetCode Hot100 刷题(第三期)

idea创建SpringBoot项目报错解决方案

数据库SQL语句(期末冲刺)

想看JavaB组填空题的伙伴们点点下方 👇

填空题

竞赛干货

算法竞赛字符串常用操作大全

蓝桥杯上岸必刷!!!(模拟/枚举专题)

蓝桥杯上岸必背!!! (第三期 DP)

蓝桥杯上岸必背!!!(第四期DFS)

蓝桥杯上岸必背!!!(第五期BFS)

蓝桥杯上岸必背!!!(第六期树与图的遍历)

蓝桥杯上岸必背!!!(第七期 最短路算法)

蓝桥杯上岸必背!!!(第八期 简单数论)

蓝桥杯上岸必刷!!!(进制、数位专题)

整理出的考点清单,供大家复习❗️ ❗️ ❗️

剩下的部分实时更新,大家抓住这最后的时间冲刺❗️

考点清单 🙏

1. 模拟/枚举

考前刷就完事了~

蓝桥杯上岸必刷!!!(模拟/枚举专题)

蓝桥杯上岸必刷!!!(字符串专题)

蓝桥杯上岸必刷!!!(日期专题+保姆级教学)

蓝桥杯 Java 省赛B组(初赛)填空题

2.进位制

不清楚的小伙伴可以看这篇 👇

蓝桥杯上岸必刷!!!(进制、数位专题)

3.双指针算法 👇

蓝桥杯省一你一定不能错过的模板大全(第二期)

4.二分

数的范围

import java.util.*;
public class Main{static int N=100010;static int a[]=new int[N];public static void main(String []args){Scanner sc=new Scanner(System.in);int n=sc.nextInt();int q=sc.nextInt();for(int i=0;i<n;i++)a[i]=sc.nextInt();while(q-->0){int x=sc.nextInt();int l=0,r=n-1;while(l<r){int mid=l+r>>1;if(a[mid]>=x)r=mid;else l=mid+1;}if(x!=a[l])System.out.println("-1 -1");else {System.out.print(l+" ");l=0;r=n-1;while(l<r){int mid=l+r+1>>1;if(a[mid]<=x)l=mid;else r=mid-1;}System.out.println(l);}}}
}

谨记:无论是差分/前缀和,下标均从1开始,防止下标越界

4.前缀和

蓝桥杯省一你一定不能错过的模板大全(第二期)

一维

题目

写法1

import java.util.*;
public class Main{static int N=100010;static int a[]=new int[N];static int s[]=new int[N];public static void main(String []args){Scanner sc=new Scanner(System.in);int n=sc.nextInt();int m=sc.nextInt();for(int i=1;i<=n;i++)s[i]=sc.nextInt();for(int i=1;i<=n;i++){s[i]+=s[i-1];}while(m-->0){int l=sc.nextInt();int r=sc.nextInt();System.out.println(s[r]-s[l-1]);}}
}

写法2

import java.util.*;
public class Main{static int N=1000010;static int a[]=new int[N];static int s[]=new int[N];public static void main(String []args){Scanner sc=new Scanner(System.in);int n=sc.nextInt();int m=sc.nextInt();for(int i=1;i<=n;i++)a[i]=sc.nextInt();for(int i=1;i<=n;i++){s[i]=s[i-1]+a[i];}while(m-->0){int l=sc.nextInt();int r=sc.nextInt();System.out.println(s[r]-s[l-1]);}}
}

二维

步骤:
(1)先输入数据
(2)预处理前缀和

s[i][j]=s[i-1][j]+s[i][j-1]-s[i-1][j-1]+a[i][j];

(3)求出区域内的数的和

s[x2][y2]-s[x2][y1-1]-s[x1-1][y2]+s[x1-1][y1-1];

子矩阵的和

import java.util.*;
public class Main{static int N=1010;static int a[][]=new int[N][N];static int s[][]=new int[N][N];public static void main(String []args){Scanner sc=new Scanner(System.in);int n=sc.nextInt();int m=sc.nextInt();int q=sc.nextInt();for(int i=1;i<=n;i++){for(int j=1;j<=m;j++){a[i][j]=sc.nextInt();}}for(int i=1;i<=n;i++){for(int j=1;j<=m;j++){s[i][j]=s[i-1][j]+s[i][j-1]-s[i-1][j-1]+a[i][j];}}while(q-->0){int x1=sc.nextInt();int y1=sc.nextInt();int x2=sc.nextInt();int y2=sc.nextInt();System.out.println(s[x2][y2]-s[x2][y1-1]-s[x1-1][y2]+s[x1-1][y1-1]);}}
}

5.差分

作用:使得区间/区域内的数加上1/C
步骤:
(1)输入数据
(2)初始化,先自己插自己
(3)处理询问即差分
差分数组:b[],前缀和数组:a[]
(4)再求一遍前缀和
(5)输出前缀和数组的a[]即可

模板题

一维

import java.util.*;
public class Main{static int N=100010;static int a[]=new int[N];static int s[]=new int[N];static int b[]=new int[N];public static void main(String []args){Scanner sc=new Scanner(System.in);int n=sc.nextInt();int m=sc.nextInt();for(int i=1;i<=n;i++)a[i]=sc.nextInt();for(int i=1;i<=n;i++){insert(i,i,a[i]);}while(m-->0){int l=sc.nextInt();int r=sc.nextInt();int c=sc.nextInt();insert(l,r,c);}for(int i=1;i<=n;i++)a[i]=a[i-1]+b[i];for(int i=1;i<=n;i++){System.out.print(a[i]+" ");}}public static void insert(int l,int r,int c){b[l]+=c;b[r+1]-=c;}
}

二维

差分矩阵

import java.util.*;
public class Main{static int N=1010;static int a[][]=new int[N][N];static int b[][]=new int[N][N];public static void main(String []args){Scanner sc=new Scanner(System.in);int n=sc.nextInt();int m=sc.nextInt();int q=sc.nextInt();for(int i=1;i<=n;i++){for(int j=1;j<=m;j++){a[i][j]=sc.nextInt();insert(i,j,i,j,a[i][j]);}}while(q-->0){int x1=sc.nextInt();int y1=sc.nextInt();int x2=sc.nextInt();int y2=sc.nextInt();int c=sc.nextInt();insert(x1,y1,x2,y2,c);}for(int i=1;i<=n;i++){for(int j=1;j<=m;j++){a[i][j]=a[i-1][j]+a[i][j-1]-a[i-1][j-1]+b[i][j];}}for(int i=1;i<=n;i++){for(int j=1;j<=m;j++){System.out.print(a[i][j]+" ");}System.out.println();}}public static void insert(int x1,int y1,int x2,int y2,int c){b[x1][y1]+=c;b[x2+1][y1]-=c;b[x1][y2+1]-=c;b[x2+1][y2+1]+=c;
}
}

6.并查集

蓝桥杯上岸必背!!!(并查集补更)

合并集合

import java.util.*;
public class Main{static int N=100010;static int p[]=new int[N];public static int find(int x){if(x!=p[x])p[x]=find(p[x]);return p[x];}public static void main(String []args){Scanner sc=new Scanner(System.in);int n=sc.nextInt();int m=sc.nextInt();for(int i=1;i<=n;i++)p[i]=i;while(m-->0){String s=sc.next();if(s.equals("M")){int a=sc.nextInt();int b=sc.nextInt();if(find(a)!=find(b)){p[find(a)]=find(b);}}else{int a=sc.nextInt();int b=sc.nextInt();if(find(a)==find(b))System.out.println("Yes");else System.out.println("No");}}}
}

7.最大公约数

蓝桥杯上岸必背!!!(第八期简单数论)

最大公约数

返回的a即是最大公约数

import java.util.*;
public class Main{public static int gcd(int a,int b){while(b!=0){int c=a%b;a=b;b=c;}return a;}public static void main(String []args){Scanner sc=new Scanner(System.in);int n=sc.nextInt();while(n-->0){int a=sc.nextInt();int b=sc.nextInt();System.out.println(gcd(a,b));}
}
}

8.筛质数

筛质数

找出是i的倍数的数都筛掉,用st[]数组维护!

.import java.util.*;
public class Main{static int N=1000010;static int primes[]=new int[N];static boolean st[]=new boolean[N];static int cnt;public static int get_primes(int x){for(int i=2;i<=x;i++){if(!st[i]){primes[cnt++]=i;for(int j=i;j<=x;j+=i){st[j]=true;}}}return cnt;}public static void main(String []args){Scanner sc=new Scanner(System.in);int n=sc.nextInt();System.out.println(get_primes(n));}
}

背包问题

0-1背包

0-1背包

import java.util.*;
public class Main{static int N=1010;static int v[]=new int[N];static int w[]=new int[N];static int f[][]=new int[N][N];public static void main(String []args){Scanner sc=new Scanner(System.in);int n=sc.nextInt();int m=sc.nextInt();for(int i=1;i<=n;i++){v[i]=sc.nextInt();w[i]=sc.nextInt();}for(int i=1;i<=n;i++){for(int j=0;j<=m;j++){f[i][j]=f[i-1][j];if(j>=v[i])f[i][j]=Math.max(f[i][j],f[i-1][j-v[i]]+w[i]);}}System.out.println(f[n][m]);}
}

完全背包问题

import java.util.*;
public class Main{static int N=1010;static int f[][]=new int[N][N];static int w[]=new int[N];static int v[]=new int[N];public static void main(String []args){Scanner sc=new Scanner(System.in);int n=sc.nextInt();int m=sc.nextInt();for(int i=1;i<=n;i++){v[i]=sc.nextInt();w[i]=sc.nextInt();}for(int i=1;i<=n;i++){for(int j=1;j<=m;j++){f[i][j]=f[i-1][j];if(j>=v[i])f[i][j]=Math.max(f[i][j],f[i][j-v[i]]+w[i]);}}System.out.println(f[n][m]);}
}

http://www.ppmy.cn/news/1010743.html

相关文章

io day8 ipc机制

1.要求实现AB进程对话 a.A进程先发送一句话给B进程&#xff0c;B进程接收后打印 b.B进程再回复一句话给A进程&#xff0c;A进程接收后打印 c.重复1.2步骤&#xff0c;当收到quit后&#xff0c;要结束AB进程 d.提示:两根管道

Python 文件操作详解

概要 Python进行文件操作&#xff0c;在日常编程中是很常用的。为了方便大家&#xff0c;这里对各种文件操作的知识进行汇总。一文在手&#xff0c;无须它求&#xff01;来一起学习吧。 一、文件的打开和关闭 open()函数 f1 open(rd:\测试文件.txt, moder, encodingutf-8) c…

SolidUI社区-FAQ解答问题流程

背景 随着文本生成图像的语言模型兴起&#xff0c;SolidUI想帮人们快速构建可视化工具&#xff0c;可视化内容包括2D,3D,3D场景&#xff0c;从而快速构三维数据演示场景。SolidUI 是一个创新的项目&#xff0c;旨在将自然语言处理&#xff08;NLP&#xff09;与计算机图形学相…

STM32CubeMx之FreeRTOS的中断优先级+配置

编译运行即可 例如我编写的是一个灯亮500ms 一个等200ms的亮灭 如果他们的优先级是同等的&#xff0c;那么任务都可以实现&#xff0c;时间片会自动切换 但是如果亮500ms的灯 任务优先级更高 还用HALdelay的话 就会让任务二饿死&#xff0c;从而就会只看到任务一的内容 解…

HTTP——十、构建Web内容的技术

HTTP 一、HTML1、Web页面几乎全由HTML构建2、HTML的版本3、设计应用CSS 二、动态HTML1、让Web页面动起来的动态HTML2、更易控制HTML的DOM 三、Web应用1、通过Web提供功能的Web应用2、与Web服务器及程序协作的CGI3、因Java而普及的Servlet 四、数据发布的格式及语言1、可扩展标记…

AlmaLinux 9 安装 Go 1.20

AlmaLinux 9 安装 Golang 1.20 1. 下载 go 安装包2. 安装 go3. 配置环境变量4. 确认 go 版本 1. 下载 go 安装包 访问 https://go.dev/dl/&#xff0c;下载你想安装的版本&#xff0c;比如 go1.20.7.linux-amd64.tar.gz&#xff0c; 2. 安装 go (可选)删除旧版本&#xff0c;…

【大数据】Flink 详解(一):基础篇

Flink 详解&#xff08;一&#xff09;&#xff1a;基础篇 1、什么是 Flink &#xff1f; Flink 是一个以 流 为核心的高可用、高性能的分布式计算引擎。具备 流批一体&#xff0c;高吞吐、低延迟&#xff0c;容错能力&#xff0c;大规模复杂计算等特点&#xff0c;在数据流上提…

Android Gradle Plugin 编译

1. 源码下载&#xff1a; $ mkdir studio-main $ cd studio-main $ repo init -u https://android.googlesource.com/platform/manifest -b studio-main $ repo sync -c -j4 -q 这个官方网址让下载 studio-master-dev 分支&#xff0c;这个分支很老旧了&#xff0c;我这里直接…