CSP复赛说明

目录

文档目的

CSP复赛说明

特别说明

考卷

考试要求

特别注意的地方

CSP 复赛样例

数据规模

零分代码

AC代码


文档目的

本文档针对目标是第一次参加 CSP 复赛的同学,主要内容是包括 CSP 复赛提交要求和需要特别注意的地方。由于各省的要求会略微有所不同,本文档主要是依据浙江省的要求写的。

CSP复赛说明

特别说明

本说明暂时只能针对浙江省,据说各省在提交上要求会有些区别。有任何疑问请务必详细咨询监考老师

考卷

下面是 2018 年普及组复赛的文档,请务必注意红色部分。

图1 2018年NOIP普及组复赛

考试要求

在这个文档中,我们可以看到,规定了如下几个:

1、每个题目的名字。

2、必须使用英文小写。

3、main()的类型必须是int。

4、main()的返回值必须是0。

其中,第3和第4条一般99%的人不会出错。比较容易出错的是第1条和第2条,必须严格按照规定。

额外说明:浙江省以前都是windows+devc++,所以可以不看说明中关于NoiLinux部分。

一般来说,浙江省提交的代码会在D盘。假设您的考号为zj01234,考试语言为C++。一般情况下,已经在d盘建立好了zj01234这个子目录。开始情况如下图所示。

根据考试要求,建立4个子目录,子目录的名字参考图1 NOIP 2018年普及组复赛,分别为title、fight、bus、tree。注意全部都是小写。这样目录结构如下图所示。

第一题title的题解文件名为title.cpp,注意全部都是小写。放在对应的d:/zj01234/title目录下。如下图所示。

第二题fight的题解文件名为fight.cpp,注意全部都是小写。放在对应的d:/zj01234/fight目录下。如下图所示。

第三题bus的题解文件名为bus.cpp,注意全部都是小写。放在对应的d:/zj01234/bus目录下。如下图所示。

第四题tree的题解文件名为tree.cpp,注意全部都是小写。放在对应的d:/zj01234/tree目录下。如下图所示。

特别注意的地方

1、比如第一题目录规定为title,你变成Title,如下图所示。

本题就是零分

2、比如第一题规定的提交文件为title.cpp,你写成Title.cpp。本题就是零分

3、比如第一题规定的提交文件为title.cpp,要求放在对应的目录,正确位置为d:/zj01234/title/title.cpp,而你放到了其他地方,如d:/zj01234/bus/title.cpp。本题零分

4、如果有任何疑问,可以直接咨询监考老师。一定要咨询监考老师。

5、和平时OJ练习中最大的不同是,所有题解文件中,都必须使用freopen。用于打开对应的in文件(数据测试文件)和生成out文件(题解文件)。如果题解文件中,没有使用freopen。本题也一定是零分。注意OJ提交的时候,不需要使用freopen重定向。

6、使用freopen()函数的时候,平时使用C++的同学,请务必包含 cstdio 这个头文件,即#include <cstdio>。

7、请务必仔细阅读每个题目,时间是肯定够的。尤其要仔细推敲“数据规模与约定”这个部分。

8、先做有把我的题目,没有把握的最后。也就是先拿能得到的分数。比如有些题目解出部分数据集,也是能拿到部分分数的。

9、复赛无法进行实时测试。CCF只是提供了部分测试数据,需要选手自己构造各种测试数据,对自己的代码正确性进行评估。我们称为对拍。

10、复赛所谓的提交,就是在指定的位置,将对应的cpp文件保存在这里即可。

11、关于万能头。可以使用万能头,即#include <bits/stdc++.h>

CSP 复赛样例

数据规模

下面我们用2018年的第一题title做个简单分析。

从数据规模与约定中可以看到,本题数据长度就是1 ~ 5个字符。

本题的坑点在于,数据中有包含空格

零分代码

参考代码

如果你按照上面的代码提交,恭喜你,你将拿到零分

AC代码

以下才是满分的代码。

 

CSP(信息学奥林匹克竞赛)复赛的知识点非常广泛,涵盖了计算机科学和算法设计的各个领域。以下是一些常见的CSP复赛知识点: 1. 数据结构:熟悉数组、链表、栈、队列、树、图等数据结构的原理和应用。能够快速选择和实现合适的数据结构来解决问题。 2. 算法设计与分析:掌握基本的算法设计方法,如贪心算法、分治算法、动态规划算法、回溯算法等。了解算法的时间复杂度和空间复杂度分析方法。 3. 图论:熟悉图的基本概念和常见算法,如最短路径算法(Dijkstra算法、Floyd-Warshall算法等)、最小生成树算法(Prim算法、Kruskal算法等)、网络流算法(最大流最小割定理、Ford-Fulkerson方法等)。 4. 字符串处理:熟练掌握字符串的基本操作,并能够应用字符串匹配算法(KMP算法、Boyer-Moore算法等)解决相关问题。 5. 动态规划:了解动态规划的基本思想和应用场景,能够分析并设计动态规划算法来解决问题。 6. 排序与查找:掌握常见的排序算法(如冒泡排序、快速排序、归并排序等)和查找算法(如二分查找、哈希表等)的原理和应用场景。 7. 数学知识:了解离散数学、概率论和组合数学等数学知识,能够将数学方法应用到算法设计中。 8. 算法竞赛技巧:熟悉算法竞赛中常见的问题解题技巧,如递归、分治、二分、模拟、枚举、贪心、搜索、优化等。 在CSP复赛中,不仅需要掌握上述知识点,还需要具备解决难题的思维能力、编程实现能力以及分析和优化算法的能力。通过不断的练习和实践,可以提高自己的算法和编程水平,取得好成绩。
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

努力的老周

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值