一、原则:拿分、拿分、拿分,尽可能在有限的时间内多拿分!
- (1)记住考试的目的是为了拿分,一个题目实在没有更好的方法,那么就暴力求解或者针 对部分数据点拿分。
- (2)会做的题目尽可能拿满分,先做有把握的题;不会做的题目针对部分数据点拿部分分数,不要因为一道题消耗太多时间,注意时间分配。
二、考试流程注意:
1、考前
调节心态,充分自信,自信并认真是最好的考试状态;
2、开考
- (1)按准考证要求创建、命名文件夹和文件,写好基本模板;
- (2)遇到任何规则上不清楚的问题(比如:保存文件、文件夹等问题)一定要和监考老师确认;文件名(程序名和输入输出文件名),必须使用英文小写。 (在windows系统编程时,可以勾选“显示文件扩展名”,避免扩展名错误)
- (3)main()的返回值类型必须是 int,程序正常结束时的返回值必须是 0。
#include<bits/stdc++.h> //可以用万能头文件
using namespace std;
int main(){ //主函数必须返回int
freopen("title.in", "r", stdin); //文件输入
freopen("title.out", "w", stdout);//文件输出
//主要代码
return 0; //必须要return 0
}
- (3)大致浏览试卷,看哪些题自己比较“有感觉”,优先做相对简单的,自己有思路的问题。
3、快结束的前 5~10 分钟
认真检查文件夹的命名、文件的保存,检查每道题基本模板正确,没有多余的输出;
注意: 在进入考试之前,知识储备决定了考试成绩; 在进入考场之后,心态、做题习惯、做题技巧,决定了考试成绩。
三、做一个题目的流程:
1、读题
- (1)仔细阅读题目的每一句话,理解题目,确认自己对题目的理解无误;
- (2)测试数据能够人工计算的,通过计算测试数据确认自己理解无误,题目感觉不太理解 或者不太明确的,通过测试数据加深理解;
- (3)自己举例计算,并思考有没有特殊情况; 部分题目有特殊情况,但测试数据不一定会展现特殊情况。
2、构建算法
- (1)一定要仔细读题,认真思考;不要过早编程,记住考试的目的是为了拿分; 时间很宝贵,选错方法或者理解错题目导致的时间浪费很可惜;
- (2)注意:数据量,确认是否要用 long long;(相加、相乘可能是 long long 吗?) 注意:数据范围,确认自己构建的算法,时间不超限;(当然,如果没有更好的算法, 也可以采用想到的算法拿部分分数)
- (3)考虑特殊情况;
- (4)构建算法可能需要消耗一些时间,但好的算法在实现的时候往往会容易一些;
3、编程
复杂问题注意将问题划分为子任务,逐步验证;
4、调错
- (1)静态找错 不一定上来就要测样例数据,先通读程序,静态找错,防止样例正确,但程序有误的情况;
- (2)测试样例 样例正确也可能拿不到满分,甚至可能是 0 分;
- (3)反复举例验算通过测试数据及自己举例的数据验证正确性 。
5、离开题目前的检查
检查文件名、文件保存目录、freopen 的编写、是否有多余的输出等细节问题,反复检查无误,保存文件,做下一题。
做题流程小结:
- 1、仔细读题;
- 2、算样例,思考是否有特殊情况;
- 3、构建算法:重视数据量、数据范围;
- 4、逐步编程;
- 5、静态读代码、测试样例、反复举例验算;
- 6、检查目录、文件名,检查是否有多余的输出。