[最后几天]蓝桥杯如何优雅控分

蓝桥杯如何优雅控分

视频讲解:https://www.bilibili.com/video/BV1P34y1x75N/

一、填空题

对于填空题而言我们不一定需要写代码,我们可以使用 计算器日历Excelwordpython 等等其他工具完成,退一步来说如果我们要写代码,那么我们也不必要写一个正解或者复杂度很低的代码,我们只需要这个代码能在比赛中跑完即可,也就是复杂度可以在 1 0 10 10^{10} 1010 以内,那么很多暴力做法都能派上用场了,再退一步说,如果填空题你实在没办法不会做,那么就可以用 手算 有的时候这也是一个不错的选择

如果有多余的时间或者不确定使用工具算出来的值是否准确,也可以写代码不断验算,一定要保证应得的填空题的分数不丢

二、编程题

2.1 return 0;

每一个的代码的 main 函数的结尾一定要 return 0 否则一分都没有!

2.2 代码书写习惯

个人建议, 函数式编程

第一遍看完题,不管如何 先把暴力代码写出来!,然后将暴力的代码封装成一个slove()函数,然后将所有题目的暴力代码写完后,我们就开始思考正解代码,这个时候暴力代码的好处就来了:

  • 首先保证了我们对于每一道题目的暴力分数拿到了
  • 其次在我们书写正解代码的时候能用来对拍数据,防止正解代码连暴力代码的分都没有
  • 又由于我们是将暴力代码封装在一个函数中的,我们的main函数的整体逻辑不会混乱

其实这种编程方式也就是写 核心代码 就如同 leetcode 的题目一样

2.3 多写多画

在我们对题目分析的时候一定要在纸上或者在电脑的画板上面多写写,将题目分点讨论,对题目的分析是非常有帮助的,如果只是在脑子里面想很容易想不出来或者想错的!

2.4 对拍数据

在我们测试写出来的程序的时候一定不要只测样例给出的,一定要试试一些比较极限的数据,比如最大的数据和最小的数据,否则你的代码可能只能过这道题目的样例,最后还是 得0分

2.5 其他

  • 自带鼠标、键盘,能提升手感

  • 建议一些变量、数组、标记等定义在全局,这样就避免了初始化,因为放在全局的变量,系统自动初始化成0,否则会给你随机赋值造成程序半天找不到问题。

  • 不要把 cinscanf等混用,建议使用 C语言的输入输出,不仅速度快,而且好调试

  • 查看数据范围,感觉超过了 1 0 9 10^9 109 请务必使用long long 防止数据溢出,很多同学代码写对了,但是数据溢出只能获得一小部分分,所以 不开long long见祖宗

  • 关于万能头即#include ,这个只是会增加编译时间不会提高测评时间,所以对代码的运行速度不会有影响,但是个人觉得少用万能头,除非常用头文件记得滚瓜烂熟

三、IDE及环境

因为比赛用到的 IDEDevcpp 5.4.0 这个版本,提前熟悉 IDE 的基本操作,并设置 IDE 肯定会让我们在比赛上更加 得心称手

首先是关于调试的:一般来说 IDE 的调试需要自己打开:

  • 工具->编译选项->代码生成/优化->代码生成->优化级别 :设置为low

  • 工具->编译选项->代码生成/优化->代码生成->语言标准 :设置为GNU C++11

  • 工具->编译选项->代码生成/优化->连接器->产生调试信息 :设置为 Yes

和IDE配套的还有一个 API 手册,一般来说是比较鸡肋,因为会的人不需要看,不会的人不知道看哪,其实这个API手册我们可以着重看两个地方:

  • STL部分,比如迭代器是如何书写的,还有容器有哪些函数可以调用
  • C++ Strings 这个库,可能会用得到一些实用的函数

其实平时就应该熟悉 STL的常用容器以及 #include 头文件的常用函数
这里推荐一个题单(里面有配套视频和讲解哦):

http://acm.mangata.ltd/training/61cff0d9aa36161f3c11f143

四、临近比赛

  • 调整好作息时间,比赛是在上午 9:00-13:00 进行,整个时间为4h,对于一些经常熬夜起床困难户,提前调整作息留给正式赛一个充沛的精力是很重要的

  • 经量减少喝水、比赛的时候就少上点厕所了

  • 保持良好的心态,每天做几道题目(不要做难题了),保持手感,给自己提高信心

  • 吃好喝好(

最后附上蓝桥杯真题题单:

http://acm.mangata.ltd/training/61d07ff9aa36161f3c122f0f

你可能感兴趣的:(蓝桥杯,蓝桥杯,心得,学习方法,C++,竞赛)