蓝桥杯如何准备国赛?

发布于:2024-05-02 ⋅ 阅读:(37) ⋅ 点赞:(0)

目录

一、赛前准备

1、如何刷题,刷哪些题?

2、记录(主要看个人习惯)

CSDN博客

 写注释

3、暴力骗分

4、从出题人的角度出发,应该如何骗分

二、赛中注意事项


一、赛前准备

1、如何刷题,刷哪些题?

以刷真题为主进行刷题进行训练是最有效的,通过做蓝桥杯的真题来感受大纲里的知识点如何体现在具体的题目中,以及如何尝试从往年真题中训练骗分的意识

题库 - 蓝桥云课 (lanqiao.cn)

(官网有测评机,可以看到自己做真题的过程中,大概通过暴力手段能骗多少分)

  • 在备赛的前2周,可以做年份相对较为靠前的,这样是为了覆盖更多知识点,等到最后两周冲刺阶段,可以多刷2遍近3年的真题(近3年真题更具参考性)。

2、记录(主要看个人习惯)

刷题的同时,也别忘了做笔记!

  • CSDN博客

可以在CSDN上记录一些自己每天的刷题计划,整理成专栏的形式

  •  写注释

如果怕麻烦也可以把想法写在编译器的注释里面,方便自己回忆!

package 第十四届蓝桥杯三月真题刷题训练.day10;

import java.io.*;
import java.util.Scanner;

/**
 * @author yx
 * @date 2023-03-13 10:15
 */
public class k倍区间_同余定理_long类型转换 {
    static PrintWriter out =new PrintWriter(System.out);
    static BufferedReader ins=new BufferedReader(new InputStreamReader(System.in));
    static StreamTokenizer in=new StreamTokenizer(ins);
    /**
     * 输入
     * in.nextToken()
     * int a= (int)in.nval;
     *
     * 输出
     * out.print();
     * out.flush();
     */
    public static void main(String[] args) throws IOException {
//        in.nextToken();
//        int N=(int) in.nval;
//        in.nextToken();
//        int K=(int) in.nval;
        Scanner scanner = new Scanner(System.in);
        int N=scanner.nextInt();
        int K=scanner.nextInt();
        long ans=0;
        long[] nums=new long[K];//存余数的数组
        long sum=0;
        int temp=0;
        for (int i = 0; i < N; i++) {
            temp=scanner.nextInt();
            sum+=temp;
            /*
            sum%K 不加阔号会显示段错误
             */
//            nums[(int) sum%K]++;
            nums[(int) (sum%K)]++;
        }
        //余数为0的可以自己单独构成一个K倍区间
        ans+=nums[0];
        /*
        有x个前缀和相同的一个余数,一共能构成x(x-1)/2个K倍数区间
        K=5
        注意:这里的Xi指的是前i个总和
        X1=3;
        X2=8;
        X3=13
        K倍区间[X1,x2],[x1,x3],[x2,x3]
         */
        for (int i = 0; i <K ; i++) {
            ans+=((nums[i]-1)*nums[i])/2;
        }
        out.println(ans);
        out.flush();
    }
}

3、暴力骗分

  • 注意给的数据范围,暴力一般可以过掉20%~50%的数据,这个要因题而异
  • 某些比较难的题目可以先用最原始的暴力方法拿到一些分,蓝桥杯是一个抢分的比赛(网传“暴力杯”),有别于ACM,(ACM是要拿满所有数据样例,才可以得到这题的分)

4、从出题人的角度出发,应该如何骗分

  • 蓝桥的题是给定10组测试数据,过掉一组数据给1/10的分
  • 注意一般会在longlong(引用洛谷上的一句名言:“十年IO一场空,不开long long见祖宗”、以及dfs优化(剪枝),BFS优化......设置一些障碍,这些都可以通过真题来训练来提升自己的知识点掌握和骗分技巧,为上考场前做好充足的准备

二、赛中注意事项

  1. 赛点可能在杭州某个学校(去年在浙江科技学院)
  2. 出赛点通知,要提前订好附近的酒店
  3. 自己要准备一只笔(比赛的时候方便打草稿)或者一些吃的(比赛时间好像是4、5h,参考去年,赛场会发水和面包)
  4. 正式开始前有一二十分钟的时间可以调试编译器,用机房的电脑,环境都是官方给的配置环境,其中Java的是Eclipse,其他的同理,可以再去看一下省赛文件中给出的要求
  5. 注意提前搜一下官方给定语言编译器的代码填充快捷设置,这个可以节省大量的时间,方便考试写代码