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

这篇具有很好参考价值的文章主要介绍了蓝桥杯上岸考点清单 (冲刺版)!!!。希望对大家有所帮助。如果存在错误或未考虑完全的地方,请大家不吝赐教,您也可以点击"举报违法"按钮提交疑问。

大家好 我是寸铁💪

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

日更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[]数组维护!文章来源地址https://www.toymoban.com/news/detail-643253.html

.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]);
    }
}

到了这里,关于蓝桥杯上岸考点清单 (冲刺版)!!!的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处: 如若内容造成侵权/违法违规/事实不符,请点击违法举报进行投诉反馈,一经查实,立即删除!

领支付宝红包 赞助服务器费用

相关文章

  • 蓝桥杯基础数据结构(java版)

    数据结构=数据+结构。所以数据结构是一个抽象的概念。其目的是为了更好的组织数据方便数据存储。下面我们来看一些简单的数据储存方式 这里先介绍java的输入和输出。简单引入,不过多详细介绍,等我单一写一篇的时候这里会挂上链接 简单的就是Scanner,使用方法如下:

    2024年01月16日
    浏览(35)
  • 【数据结构】期末考试复习(考点+例题)

    线性表,栈,队列- 操作应用结果 树的构造,遍历(中序),存储,哈夫曼树,最佳二叉排序树,平衡二叉排序树, 散列(必考)快速查找,函数构造,冲突地址,平均查找长度 排序算法结果,代码(交换,比较次数,对应过程,复杂度)不考冒泡! 图的存储,遍历,最小

    2024年02月11日
    浏览(46)
  • 蓝桥杯十天冲刺计划

    唤我沈七就好啦。 蓝桥杯的比赛要进入倒计时了。 几分焦虑,几分兴奋。 在准备蓝桥杯的这几个月里自己也算学到了点东西。 前几天常年征战蓝桥杯的学长给我罗列了一些考前必须会默写的算法。 我感觉复习更加有方向性了,我又做了些整理和补充现在分享给大家~ 二分

    2023年04月09日
    浏览(40)
  • 蓝桥杯上岸每日N题 (交换瓶子)

    有 N 个瓶子,编号 1∼N,放在架子上。 比如有 5 个瓶子: 2 1 3 5 4 要求每次拿起 2 个瓶子,交换它们的位置。 经过若干次后,使得瓶子的序号为: 1 2 3 4 5 对于这么简单的情况,显然,至少需要交换 2 次就可以复位。 如果瓶子更多呢?你可以通过编程来解决。 输入格式 第一

    2024年02月11日
    浏览(34)
  • 蓝桥杯上岸每日N题 (修剪灌木)

    爱丽丝要完成一项修剪灌木的工作。 有 N 棵灌木整齐的从左到右排成一排。 爱丽丝在每天傍晚会修剪一棵灌木,让灌木的高度变为 0 厘米。 爱丽丝修剪灌木的顺序是从最左侧的灌木开始,每天向右修剪一棵灌木。 当修剪了最右侧的灌木后,她会调转方向,下一天开始向左修

    2024年02月11日
    浏览(26)
  • 蓝桥杯冲刺 - week1

    🚩第一周从最高频-分数占比 最高 开始练习!涉及算法标签[⚽️DFS,⚽️BFS,⚽️日期问题,⚽️哈希统计] DFS 乃是暴力搜索的基础, BFS 常用于解决迷宫问题,日期问题可以视为常规题 ⏳最后三个星期大家一起冲刺,祝大家rp++🏅 如果对您有帮助的话还请动动小手 点赞👍,收藏

    2023年04月08日
    浏览(60)
  • 蓝桥杯上岸每日N题第一期(二)!!!

    这道题我们可以得出的是二分的结果是满足k块巧克力的最大边长是多少? 题目要求: 1.形状是正方形,边长是整数 2.大小相同 即要求边长均为x 我们就可以确保得到 边长一致的正方形 大小相同即分出的块数为整数, 向下取整!!! 得到能够凑出的整块巧克力 如果分出的块

    2024年02月16日
    浏览(29)
  • 蓝桥杯上岸每日N题 第一期(一)!!!

    2020 年春节期间,有一个特殊的日期引起了大家的注意:2020 年 2 月 2 日。因为如果将这个日期按 “yyyymmdd” 的格式写成一个 8 位数是 20200202,恰好是一个回文数。我们称这样的日期是回文日期。 有人表示 20200202 是 “千年一遇” 的特殊日子。对此小明很不认同,因为不到

    2024年02月16日
    浏览(31)
  • 算法分析与设计考前冲刺 (算法基础、数据结构与STL、递归和分治、 动态规划、贪心算法、 回溯算法)

    算法分析与设计考前冲刺 算法基础 算法是一系列解决问题的清晰指令,代表着用系统的方法描述解决问题的策略机制。 程序是算法用某种程序设计语言的具体的 具体实现 算法特征: 有穷性(有限步) 确定性 输入 输出 可行性(有限时间) 算法的复杂性: 时间复杂性 和空间复

    2024年02月02日
    浏览(33)
  • 【蓝桥杯冲刺】日期类专题特训

    目录 1. 日期累加 题目描述 输入 输出 代码 2. 日期差值 题目描述 输入 输出 代码 3. 打印日期 题目描述 输入 输出 代码 写在最后: 题目链接: 日期累加 输入 输出 题目链接:日期差值 输入 输出 题目链接:打印日期 输入 输出 日期类的题目大同小异, 把日期类的基本思路练

    2023年04月16日
    浏览(31)

觉得文章有用就打赏一下文章作者

支付宝扫一扫打赏

博客赞助

微信扫一扫打赏

请作者喝杯咖啡吧~博客赞助

支付宝扫一扫领取红包,优惠每天领

二维码1

领取红包

二维码2

领红包