- admin 的博客
CSP-J复赛备考策略&必学知识点
- 2025-6-14 14:41:31 @
CSP-J复赛备考策略
CSP-J复赛题目的特点是:
- 第一题:算法比较明显,或者和数学关系比较大的题目。
- 第二题:好上手,但程序量稍大,考虑全面有一定难度。
- 第三和四题:一般是搜索,或者算法不明显的题目。
算法方面,可能考到的有:穷举、搜索(回溯即可)、动态规划(几乎必考)、贪心、递推、递归等,以及简单的数据结构,需熟悉字符串的操作和排序。
1、知识体系回顾,多做经典题目
在算法方面可能考到的是:穷举、搜索(回溯就可以了)、动态规划(几乎必考)、贪心、递归、简单的图论算法(dijkstra等),熟悉字符串的操作(包括字符串的几个常用函数)和排序算法就差不多了。记住:信息学不是看会的,是练会的。一定要多看多想多练。
2、养成编码和调试习惯
复赛考查的算法并不困难,选手在实现上的问题往往更大。因此建议:
- 充分利用草稿纸,不要对自己的“心算能力”太自信。做信息学竞赛题的思维过程丰富且曲折多变,考虑问题必须全面。
- 编码采取自顶向下,逐步求精的方法,调试时采用输出中间结果的办法及时找出错误之处。思路越清晰,对自己程序的算法和编码越了解,调试也会越顺利(一定不要忽视)。
- 多做套题,做单个题目和套题感觉不同。做套题要涉及到时间分配和做题顺序等,这些同样十分重要。
3、最大限度发挥水平
- 认真审题:审题对于信息学竞赛尤其重要。同一题目数据限制不同,难度差异可能很大。例如:输入A、B,输出A + B的值。若题目说0 <= A, B <= 10000,这是一道简单题目;但如果题目说0 <= A, B <= 10¹⁰⁰ ,则显然要用到高精度数的处理。从某种意义上说,数据限制暗示了可能的算法,数据小,也许适合搜索,数据大了,可能只能考虑动态规划、数学方法等高效算法。
- 正确估计题目的难度和自己的水平:平时最熟悉和有把握的题,一定要做对。熟悉的题目要加强编程熟练度、准确度、测试和调试能力,把自己有能力拿到的分拿稳。
- 重视测试:测试的数据既要考虑一般情况,也要考虑特殊情况,评分的唯一标准是测试数据。一道困难的题目如果无法下手,在时间允许的情况下一定要写一个能解一些特殊情况的程序。很多最优化题目,不要一个字都不写,根据“直觉”算法(如贪心),虽得不了满分,也能得一定分数。
- 编程过程中注意随时存盘:最好保留一些不同版本(如算法不同)的程序,便于选择修改。比赛时首先设置编程环境的工作路径,保存文件的文件名以及程序中引用的输入输出文件名一定要按要求命名,包括文件名的大小写。程序中标识输入输出文件时,一定要用相对路径,绝不可用绝对路径。