更多RANK37


                                                             By LTL

  经过对BDG长期的观察得出的这套理论,希望能对大家学习OI有所帮助。

                                                           入门篇

  首先在掌握一门语言时(P,C都无所谓的),假设不习惯指针能够直接无视。语言之中对于入门选手来说最重要的递归。学好递归才是后面全部的基础。对于学不好递归的同学建议去学一学数列,然后你就能明确了。

  总结出来的写法是(如求a^k)

   int solve(int k)

  {

   If (k==0) return 1;//先处理边界

   Int ans=slove(k/2);//化为子问题

   //知道子问题的解以后整合原问题

     ans=ans*ans;

   If (k%2==1) ans=ans*a;

   Return ans; 

  }

  学好了语言之后就是准备NOIP。要拿一等奖事实上仅仅须要学好搜索,贪心,动规即可了(其它知识听老师讲就好,不须要加练)。先来说一说搜索吧。学好递归的话爆搜就非常好实现了。个人觉得老师教给你们的模板应该改一下。应该是这样

 Search()

  {

   假设是终点就停止。

   枚举决策

  }

  终止条件放外面有助于理解子问题、、

  学主要的DFS就写简单版数独吧。学好基本DFS然后一般DFS考题主要分为2种:剪枝要求高。推荐3道题(黑书上的小木棍,前3短路,埃及分数),这3个做了差点儿相同就会主要的剪枝了;编程难度大。各种玩游戏的题,这个就须要多练习代码能力,推荐(NOIP2011mayan)。至于BFS难度在于判重上,经常使用的判重的方法:hash,trie,阶乘编码,*平衡树。最后就是对BFSDFS的选择。这个自己体会吧~~~什么A*,IDA*,Dancing Links,事实上对于拿一等奖没什么帮助。

不要小看搜索的威力,暴力出奇迹。当你做不到题的时候,奇葩搜索会得打出题人脸的。蒟蒻的笔者在NOIP2012DAY2T3就依靠搜索拿了40分(SX不会正解,你去惹啊)。大家还能够參考丽姐在CTSC201310分钟搜索怒A题的经历。

  然后是DPDP入门难,入了门以后NOIPDP就基本能应付了。可是DP博大精深,至今笔者都没有玩转高难度DPDP入门能够參看黑书。刘汝佳大神讲得非常清楚了(反正我认为是我看过的讲得最好的)。然后就刷题吧,把NOIP动规和题库前2页题梳理刷完,应该能入门了。

至于DP优化反正就2种优化状态和优化转移。状态优化无非就是去掉冗余或者转化描写叙述方式。

优化转移无非就是继承,剪枝。数据结构优化。总而言之。对于动规要多刷题。

  最后贪心了,贪心出题人想怎么考就怎么考,广泛难度大,所以要先掌握主要的贪心套路(怎么掌握?喊学长推荐经典题目吧,有非常多东西都是模板)。然后是独立思考能力。一定要充分思考才看题解。由于贪心须要思维发散,要多想才干有提高。

  至于其它东西也要学好,跟着老师的步调走,可是这3样假设不行的话请在别人耍游戏的时候刷题!假设学得差点儿相同了。那么结合一点点RP就能拿到一等奖了。并且非常轻松。

这个阶段建议多读一读导刊和做题库前7页的题。当然假设NOIP要考500+或者满分,这点水平是远远不够看得。

                                                                进阶篇

 假设经历了上一阶段,说明你已经不只满足于NOIP拿一等奖了。你还须要NOIP400+500+为省队做准备了。

那么你须要的是配合大白书(计算几何以及难一点的数学能够无视)+较简单的省选题(题库上AC人数较多的)+COCI的简单题,没什么好说的,这个阶段你须要大量刷题,然后独立看论文和题解,要熟练掌握NOIP经常使用的算法而且要自学超纲的算法而且要開始改善你写代码的速度以及多看别人的代码来使自己代码更简洁高效。当你在寻常模拟考试都能考出200+的成绩,说明你就差点儿相同了。

 假设你NOIP考得非常好,留下来冲省队。

那么恭喜你即将成为一位码农了- -,開始壮烈的人生。

省队内容比NOIP多了非常多倍,才開始冲省队建议配合大白书,黑书然后刷COCI以及CFC,D

个人超级推崇COCICF的题,由于质量高,不繁琐,思维适中。

关键是题解写得好。非常多标程代码写得特别美丽!这个阶段就不能回避计算几何和数学了,多抽一抽出时间余时间把数学和几何知识自学了(假设想进A队的话。

A队和B队的AU线但是有差距的)。

 假设学完了大白书和黑书。那么基本算法你都会了。这个时候你就须要怒刷BZOJ,由于COCI的题美中不住就是编程难度低。主要考思维基本用不上高难得算法。BZOJ汇集了各省省选以及各大比赛的题目。值得一刷。当然所谓的刷并不要求每道题都写代码。有些看懂题解就能够过了,这个须要酌情考虑,当然也要放弃一些太难得题(纯属浪费时间)。

  假设你没失误进队,那么恭喜恭喜了。假设你题都刷得够多了,就要尝试总结一下自己刷的题和会的算法。这个阶段建议多总结,能够看国家集训队论文查漏补缺,要多考试,锻炼应试技巧。还是推荐CF。多打打比赛,了解最新的出题方向了

 然后你没失误就AU了,ORZ,肯定不止是RANK37!!

                                                                超神篇

  当你不止是RANK37的时候这篇文章已经不能帮你了。

由于你已经有了自己的思考模式和学OI的习惯。后面的路仅仅能考你自己摸索了。加油NSOI第一块国际金奖的就是你罗!   

版权声明:本文博客原创文章。博客,未经同意,不得转载。

原文地址:https://www.cnblogs.com/blfshiye/p/4714667.html