2021年CSP-J/S第二轮认证将于2021年10月23日举行。对于第一次通过CSP-J第一轮考试的同学,接下来的10天,我们将要怎么准备呢?请往下看。

CSP-J第二轮认证试题类型

CSP-J2(入门级复赛)的考试时间为3.5小时,共有4道题,每题100分,共计400分。

每一试题包括:题目、问题描述、输入输出要求、样例数据(部分题目有样例的说明)。测试时,测试程序为每道题提供了10-20组测试数据,考生程序每答对一组得5-10分,累计分即为该道题的得分。

CSP-J 第二轮需要的知识

C++程序设计

项目 内容
程序基本概念 标识符、关键字、常量、变量、字符串、 表达式的概念;常量与变量的命名、定义及作用;头文件与名字空间的定义与理解;编辑、编译、解释、调试等概念理解。
基本数据类型 整数型:int, long long;实数型:float, double;字符型:char;布尔型:bool
程序基本语句 cin 语句.scanf 语句,cout语句,printf语句,赋值语句,复合语句;if语句,switch语句,多层条件语句;for语句,while语句,do while语句;多层循环语句
基本运算 算数运算:加、减、乘、除、整除、求余;关系运算:大于,大于等于,小于,小于等于,等于,不等于;逻辑运算:与(&&)、或(||)、非(!);变量自增与自减运算;三目运算;位运算:与(&)、或(|)、、非(~)、 异或(^)、左移、右移
数学库(cmath)常用函数 绝对值函数,四舍五入函数,取上整函数, 取下整函数,常用三角函数,对数函数,指数 函数,平方根函数
结构化程序设计 顺序结构、分支结构和循环结构;自顶向下、逐步求精的模块化程序设计;流程图的概念及流程图描述
数组 数组定义,数组与数组下标的含义;数组的读入与输出;纯一维数组的综合运用;纯二维数组与多维数组的综合应用
字符串的处理 字符数组与字符串的关系;字符数组的综合应用;string类定义、相关函数引用;string类的综合应用
函数与递归 函数定义与调用,形参与实参;传值参数与传引用参数;常量与变量的作用范围;递归函数的概念、定义与调用
结构体类型 结构体的定义及应用
指针类型 指针的概念及调用;指针与数组;字符指针与string类;指向结构体的指针
文件及基本读写 文件的基本概念,文本文件的基本操作;文本文件类型与二进制文件类型;文件重定向、文件读写等操作
STL模板应用 algorithm 库中 sort 函数; 栈(stack)、 队列(queue)、链表(list)、向量(vector)等容器

数据结构

项目 内容
线性表 链表:单链表、双向链表、循环链表;栈;队列
简单树 树的定义及其相关概念;树的父亲表示法;二叉树的定义及其基本性质;二叉树的孩子表示法;二叉树的遍历:前序、中序、后序遍历
特殊树 完全二叉树的定义与基本性质;完全二叉树的数组表示法;哈夫曼树的定义、构造及其遍历;二叉树的定义、构造及其遍历
简单图 图的定义及其相关概念;图的邻接矩阵存储;图的邻接表存储

算法

项目 内容
入门 枚举法;模拟法
基础 贪心法;递推法;递归法;二分法;倍增法
数值处理(高精度计算) 高精度的加法;高精度的减法;高精度的乘法;求高精度整数除以单精度整数的商和余数
排序 排序的基本概念(稳定性等);冒泡排序;简单选择排序;简单插入排序
图论 图的深度优先遍历算法;图的宽度优先遍历算法;洪水填充算法(floodfill)
动态规则 动态规划的基本思路;简单一维动态规划;简单背包类型动态规划;简单区间类型动态规划

数学知识

项目 内容
基础数论 奇偶、整除、同余、斐波那契数列、素数定理及其判定、埃氏筛法、线性筛、GCD、LCM、快速幂
基础计数 集合的计算、计数原理、排列组合、容斥原理、鸽巢原理
概率与统计 事件频率、概率、数据图表(直方图)
平面几何 平面直角坐标系、点、直线、多边形、矢量的概念及简单运算
矩阵 矩阵的表示形式、矩阵基本运算
初等代数 函数的定义与性质、基本初等函数、分段函数、对数函数、函数的零点、函数和图的关系、函数区间内单调性、不等式
数列 数列的概念、特殊数列、等比等差数列概念和性质,数列的递推、常用数列通项公式、求和公式

复习步骤

1、根据上述所列知识列表,将所有知识快速浏览一遍。记下不明白的知识点,进行查缺补漏。

2、练习自2019年以来的CSP-J真题,按照读题、分析、所用知识点、编码、测试这样的步骤,对题目进行训练。每道题目用时争取不超过45分钟。

3、熟悉NOI考试比赛系统–NOI Linux 2.0及IDE软件。

4、练习键盘输入,最好能做到盲打键盘,提高键盘输入速度。

5、如果还有时间的话,去洛谷等网站进行题目练习。

公众号:格致书院