NOIP初赛刚落下帷幕,现在我为大家整理一下复赛需要做的事,也给大家提一点建议:
1. 题目编程量少。
算法学习了很多,但不熟练,甚至学习过后都没有亲自写过。看似学了不少知识,但只知道大概,所以限时编程就各种出错,短时间内也调试不出来。如果想获得一等奖,一般有价值的题目需要刷过200道左右,如果想进省队,有价值的题目至少刷过500道。不少选手的刷题数量都不低于2000道。
2.一些基本函数不会使用甚至没听说过。
潍坊达内培训:上课期间还有人在手写快速排序,完全是在浪费时间,还增大出错风险。了解常用函数会让编程更加简洁并减少出错率。至少以下函数希望同学能了解会用: sort, min, max, swap, abs, fabs, memset, make_heap, pop_heap, push_heap, sort heap.
3.不了解STL容器瞎用。
可能是之前看过某些题中这些结构用起来很厉害,就老想使用这些结构,比如vector, deque, list, stack, queue, priority queue, set, map.建议还未完全了解这些容器性质和成员函数前先不要使用,否则往往不如手写数组运行速度快。先把数组学好,数组更好操控,也完全能实现这些功能。
4.模板化算法
套路性优化掌握不熟练。20分钟写不出来二分答案是非常有问题的。写一个成形的算法模块,应该不需要思考,纯粹是敲代码的时间,比如 二分, dfs, bfs, Floyd等都是最基本最基本的算法,考试时闭着眼睛都得敲出来。套路性处理比如, 最大值最小或最小值最大应该考虑二分答案, 多次求区间值考虑差分前缀和, 需要logn可以尝试加个堆优化,或者倍增等等。
5.细节考虑不周
比如某个数组大小开小了,多次输入时数组没清零,判断条件是否有等号,多个判断是否需要else if,题目输入n,m,v,e,编程时是否记清每个含义不用混,3个小于10亿的数相加取余时是否在算完2个的和时取余了。这些都是细节,但如果有一点没注意可能就少了30分,甚至这道题一分没有。
更多潍坊达内培训相关资讯,请扫描下方二维码