分享

NOIP复赛|备考策略(5)考前碎碎念-重要

 网海拾贝网络猪 2017-10-31


  NOIP逐步有侧重考察思维的趋势,已经不是说学习的算法越多,成绩就会越好。最近2年考察的模板算法很少,只有LCA有背的价值,像二分,dfs原理都非常简单,理解即可。信息竞赛中最适合考察思维的莫过于动规与贪心,由于贪心要么太显然大家都看得出来,要么太难只有极少数人能发现,所以贪心的区分度较低。因此动态规划理所当然的受到了NOIP复赛的宠儿偏爱!基本每年都会有1道动态规划的题目,甚至一年2道。最近动规题目的考察也不再是最基本的背包问题,像16年与期望相结合与状态压缩相结合,都进一步加大了思考的难度。所以比赛中没有失误比什么都重要.

以下这些问题你存在吗?

 

1. 题目编程量少.
算法学习了很多,但不熟练,甚至学习过后都没有亲自写过.看似学了不少知识,但只知道大概,所以限时编程就各种出错,短时间内也调试不出来.如果想获得一等奖,一般有价值的题目需要刷过200道左右,如果想进省队,有价值的题目至少刷过500道.不少金牌选手的刷题数量都不低于2000道.

2.一些基本函数不会使用甚至没听说过.
上课期间还有人在手写快速排序,完全是在浪费时间,还增大出错风险。了解常用函数会让编程更加简洁并减少出错率,至少以下函数希望同学能了解会用: sort, min, max, swap, abs,fabs, memset, make_heap, pop_heap, push_heap, sort heap。
简单举个例子,去年day2第2题蚯蚓,加个堆维护最大值,时间复杂度O((m+n)log(m+n)),都不需要思考轻松拿到85分,而堆在STL中是可以直接调用的,一共写完不过40行。

 


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分,甚至这道题一分没有。

提醒:这最后的冲刺阶段没必要花时间再看自己不会的算法,如果还没做过近5年NOIP真题,优先把真题做一遍,真题的难度把控和算法要求远比模拟题好,一定要限时完成,感受考试时间,只有在限时的环境下才能得出最适合自己的时间分配。策略上,考前一定要相信自己,题目万变不离其宗,丰富的做题经验会让你考试中游刃有余。如果已经做过近3年真题,可以选择图论或动态规划之一重点刷题,十天的时间是可以做10题以上的.不要看题解,独立思考,编完检查完毕再提交!养成习惯一次性AC,不要反复提交通过评测网站查找错误,毕竟考试只有一次机会。最后的最后,祝同学们取得好成绩!


    本站是提供个人知识管理的网络存储空间,所有内容均由用户发布,不代表本站观点。请注意甄别内容中的联系方式、诱导购买等信息,谨防诈骗。如发现有害或侵权内容,请点击一键举报。
    转藏 分享 献花(0

    0条评论

    发表

    请遵守用户 评论公约

    类似文章 更多