蓝桥杯的比赛流程和比赛内容大概是什么?需要怎么准备?只刷Leecode的题目可以吗? |
您所在的位置:网站首页 › asl12比赛 › 蓝桥杯的比赛流程和比赛内容大概是什么?需要怎么准备?只刷Leecode的题目可以吗? |
自己参加过两次蓝桥杯B组,都进国赛,对蓝桥杯有些了解。 蓝桥杯简介比赛流程蓝桥杯比赛全程4小时,往年是上午9点到13点。 试题形式题目分为结果填空题和程序设计大题,共10题,大致各占50%,填空题只需要填最后答案,程序设计要求提交完整程序,比赛过程中提交不判断对错,比赛结束后才判题,所以以最后一次提交为准。 对于结果填空题,题目保证只有唯一解,选手的结果只有和解完全相同才得分。对于编程大题,会使用多组评测数据来评判,每组评测数据有对应的分数,按照通过的评测数据评分。 比赛准备准备的话(以C++为例),首先是学习编程语言基本语法。 运算,包括逻辑运算和算术运算。条件表达式,if, else条件判断。数组,诸如数组定义的合适长度,边界细节,下标是从0开始还是从1开始等。字符串,掌握字符串的删除,拼接,字符查找等,Java,C/C++,Python都封装了很多字符串的基本操作,学会使用即可。循环,学会循环的开始和终结的判断,一般使用比较多的就是 for 和 while 。函数,明白函数的返回类型和参数传递其次,学习基础算法,数据结构和数学知识, 排序,这个在比赛中直接使用 sort() 就可以了,还要掌握结构体排序。二分查找,也叫折半查找,在编程比赛经常会遇到。贪心算法,贪心算法一般就是找到最优解的方法,比较灵活。DFS和BFS,图形搜索算法,都是经常使用的。Dijkstra, 最短路径算法。动态规划,简称DP,DP题目难在公式的推导,可以先学习基础的背包问题。计算几何,一般涉及较少。树,二叉树的前、中、后序遍历,树状数组,最小生成树(Kruskal)。栈和队列,在比赛中一般使用STL 封装好的容器来实现栈和队列,另外,map,set,vector,pair 都是经常使用的。简单数学,最大公约数,最小公倍数,素数的筛选,三角形公式,等差数列等在学习的过程中一定要刷题,一方面加强知识的理解,另一方面提高自己的代码能力(速度,Debug)。 技巧策略比赛中,编程知识的是一部分,技巧策略也是一部分。 暴力, 暴力看似简单直接,但也要考虑条件。在填空中遇到不会的题,可以考虑暴力,但是一定要考虑时间复杂度,遇到 1e^8 和 1e^9 的时间复杂度,可以大胆暴力,如果是 10^{100} 的数量级,程序运行到比赛结束也算不出结果。在编程大题中,如果找不到最优解,可以使用暴力得一部分分数,因为编程大题中的测试数据有些数据比较小。构造测试数据。比赛中,通过题目中公布的测试数据不代表全部正确,一定要自己构造多组数据和特殊的数据来验证编程的正确性。学会放弃题目太难,就要学会放弃,不要头铁。刷题网站的选择自己本人在LeetCode刷了120道。 不建议刷Leetcode, Leetcode大多是涉及数据结构和一些基础算法的的,比如动态规划,链表,树,栈,队列等,而蓝桥杯的题目涉及范围是比较广的,从简单的水题到一些需要使用复杂数据结构和算法的大型题目都有。而且,Leetcode写题是不用自己输入的,只需要把一个函数补充完整即可,与蓝桥杯自己输入还是不同的,会使人有些不适应。刷题的话可以去蓝桥杯的练习系统,ACWing。 |
今日新闻 |
推荐新闻 |
CopyRight 2018-2019 办公设备维修网 版权所有 豫ICP备15022753号-3 |