关于蓝桥杯等算法竞赛的经验总结

您所在的位置:网站首页 multiset怎么读 关于蓝桥杯等算法竞赛的经验总结

关于蓝桥杯等算法竞赛的经验总结

2023-06-18 17:48| 来源: 网络整理| 查看: 265

1.准备蓝桥杯需要做什么,有哪些需要学习的算法?熟悉比赛环境

比赛使用的编辑环境,c/c++ 组使用的是 dev-c++ , python 组使用 IDLE , java 组使用 Eclipse,建议平时练习多使用对应的编辑器,如果不熟悉编译环境,在比赛时可能会带来不必要的麻烦,尤其是 python 组的 IDLE 非常简陋,由俭入奢易,由奢入俭难。

喜讯:官方通知第十二届蓝桥杯 c/c++ 组增加了 CodeBlocks 20.03 编程环境,支持 C++ 98 和 C++11, 终于可以用上 c++ 的新特性了。

写竞赛风格的代码

大学的课程大都是偏向使用工程风格的代码,重视可读性,写竞赛风格的代码可能会受到批评。但在蓝桥杯中,使用工程风格只会浪费时间,还可能增加出错的概率。

变量名命名的问题,可以参考黄学长的这篇博客:http://hzwer.com/9160.html,总体来说风格比较自由。平时也可以积累一些常见算法的简洁写法,如下面的辗转相除法代码就很经典。短,在竞赛中意味着节省时间,同时更不容易出错。

int gcd(int a,int b) { return b==0?a:gcd(b,a%b); }

数据结构也没必要像课上那样进行封装,遵从简单实用的原则,比如栈

int st[MAX],top = 0; // 定义 st[top++] = a; // a入栈 b = st[--top]; // 出栈

建议尽量不用指针,用指针动态分配速度慢,而且空指针处理不好可以出现运行时崩溃。竞赛中数据范围是确定的,没必要动态分配内存。

对数据范围要敏感

同样的题面,不同的数据范围,将是2个难度完全不同的题,数据范围不只是告诉你数组开多大,还可以大致推算算法的时间复杂度,比如n



【本文地址】


今日新闻


推荐新闻


CopyRight 2018-2019 办公设备维修网 版权所有 豫ICP备15022753号-3