分类
Level0

做题的正确流程

1、读题(审题)
(1)仔细阅读题目的每一句话,理解题目,将题目中的条件一一标记,确保自己对题目的理解充分;
(2)测试数据能够人工计算的,通过计算测试数据确认自己的理解无误,对题目不太理解的,通过计算测试数据来加深理解;
(3)自己举例计算(用草稿纸,不要过分相信自己的大脑),并考虑有没有隐含的特殊情况;部分题目有特殊情况,但题目给出的测试样例数据不一定会展现特殊情况。

2、构建算法
(1)一定要仔细读题,审题,不要过早编程;时间很宝贵,选错方法或者理解错题目导致的时间浪费很可惜;
(2)注意:数据量,如确认是否要用 long long;(相加、相乘可能是 long long 吗?)
注意:数据范围,确认自己构建的算法,时间不超限;(在信息学奥赛中,如果没有更好的算法,可以采用已经想到的算法确保拿到部分分数)
(3)考虑特殊情况;(很考验思维的严谨性)
(4)构建算法可能需要消耗一些时间,但好的算法在实现代码的时候往往会容易一些。思路顺了,编写代码事半功倍。

3、编程与调试
可以将一个复杂问题划分为多个简单的子问题,逐步编写代码实现。对于复杂的问题,尽量在编写代码的过程中,对每个子问题逐步验证。
出现编译错误,尽可能去分析错误提示信息,根据提示信息快速定位到代码错误的区域;
出现结果错误,则应该分步骤去查看每个子问题的处理结果是否正确,快速缩小问题的定位范围。

4、测试验证
(1)测试样例
特别注意:不能只满足样例的验证,即使题目样例正确也可能拿不到满分,甚至可能是 0 分;
(2)举例验算
除了题目中给出的测试样例,一定还要测试自己举例的数据,尤其是特殊情况的数据。