zoukankan      html  css  js  c++  java
  • acmicpc for beginers

    1.做简单题是入门的不二方法. 不要过早地涉及太高级的RMQ之类的东西. 即使你只需要用3天时间来入门,这3天也绝对不要碰太高级的东西. 入门的阶段要注意的几个事项: 我强烈建议在入门阶段就提高自己的准确率. 一个题目,你提交多少次才可以AC?  你预计自己花多少时间可以AC这个题目,而实际你花费了多少时间??  尽量避免WA后才发现自己看错题目,或者花了几个小时,才发现自己的代码里有些很愚蠢的错误之类的事情发生.  从弱智题开始,一步步来.
     
    补充一点,建议从入门阶段开始参加TC比赛.TC比赛对训练CODING能力帮助很大.  如果TC DIV2 250P 的成绩可以做到200以上,那基本上就可以等同于入门了.
     
     
     
     
     
    2.当你发觉有些题目很无聊,不屑去做,而另外一些题目又想不到怎么做的时候,你就该进修一下了.  这个时候应该做题和学资料一起来.
     
    一些比较重要的知识我列举一下:
     
     
     
     
     
    基础型的知识:
     
    最基本的图搜索dfs,bfs,最短路径[dijkstra(n^2的和mlogn的都要掌握),bellman-ford],网络流[ford-fulkerson和pre-push比较常用],floyd传递闭包,toposort拓扑索,欧拉回路求法,二分图匹配
     
    基础数论:O(n^0.5)朴素检测素数,筛法+O(n/logn)检测素数,Miller-Rabin随机检测素数,gcd理论及euclid算法,euclid-extend算法,中国剩余定理,高精度,欧拉函数
     
    基本组合数学:排列公式,组合公式,二项式定理,容斥原理,鸽笼原理,动态规划[特别重要].
     
    计算几何学:各种点与直线之间关系的求法,凸包算法.
     
     
     
    提高型的知识:
     
    图论: 看图论导引吧
     
    数论: 看初等数论吧 //初学的话,数论概论比较好
     
    组合数学: 递推关系,生成函数,特殊计数序列,群论
     
    计算几何: 看计算几何书吧
     
    另外,提高期需要看国家队集训论文和黑书.  论文和黑书是提高的重要材料,不过比较难懂.
     
     
     
    STL: 当你大概了解STL实现的原理,就可以开始使用STL了. 没了解的时候不推荐使用,这会导致很多麻烦.
     
    一般的string,vector,set,map,algorithm,queue,list,deque,stack 都要掌握,在某些时候可以省下很多机械重复工夫[前提是这些工夫对于你是机械重复的. 如果without stl,你不能写出答案,那还是练习一下徒手写吧. 相信你不会只是为了增加题数而做题]
     
     
     
    以上列举的知识[特别是提高型的]一时间想不全,以后想到会陆续补充.
     
     
     
     
     
    所谓的做题和学资料一起来,我建议的方法是,开一个题,如果觉得不懂,可以问人[欢迎来问我,如果我会做的话].  最好请别人不要告诉自己具体做法,只是给出相关的知识,然后自己去学习. 学习的过程中,自己不断尝试用新学的知识去解决遇到的问题. 这样我觉得提高得是最快的.
     
     
     
     
     
    3.剩下的事情,就是不断积累了.
     
    多做题,多看书.
     
    这里推荐2个OJ
     
    1是PKU. PKU现在国内人气最高. 题目更新快,每月有比赛,管理员认真管理,题目多人讨论.我觉得是最理想的场所. ZJU已经荒废很久了,你在上面提问,得到的回答会比在PKU的少得多. 而且PKU题目分层好,从入门级到世界冠军级都适合在上面做,赞!
     
    http://acm.pku.edu.cn
     
     
     
    还有1个是UVA. 别被UVA吓到了.其实UVA上也是有很多简单题的. UVA是一个世界性的OJ,人气旺,多人讨论,几乎每题都能在论坛里找到解答[那些只有10几个人会做的题除外] UVA题目的分层也很好,而且更新也很快. 但是唯一的缺点是访问速度慢. 优点是水题少[我讨厌水题]. 大家自己选择吧
     
    http://acm.uca.es/p/
     
     
     
     
     
    有些同学未入门就到SGU做题,在这里说明一下,我极度不赞成这种做法.
     
    打个比方,就好像小学生在做大学物理的题目一样.
     
    虽然某些题目的确可以解出.
     
    但是这将会是一个陷阱.
     
    可能刚开始做的几个简单题会进步很快. 但是慢慢地学习曲线会趋向于log函数,最后举步维艰.
     
    而在UVA或PKU做题,学习曲线将线性上升,强烈推荐!!  ^_^
     
    最后希望大家在ACM道路上能够坚持下来. 祝大家都能学得一身本领.
     

  • 相关阅读:
    CSS3 Transitions 你可能不知道的知识点
    css规范
    移动应用表单设计秘籍
    SVN和Git的一些用法总结
    让Terminal显示git分支
    JavaScript正则表达式下——相关方法
    requests模块
    flask模块
    os模块
    简单的socket编程
  • 原文地址:https://www.cnblogs.com/beibeibao/p/2974191.html
Copyright © 2011-2022 走看看