zoukankan      html  css  js  c++  java
  • 做题经验谈

    为什么讲如何做题?

    • 浪费时间刷几千道水题毫无意义。
    • 做真正有用的题目。
    • 在一道坑爹题上浪费大量的时间是十分没有性价比的。
    • 真正有效的训练在一年内就能成为很强的选手,而一味的磨蹭和颓废4,5年也就那样。
    • 成功的路并不拥挤,因为大部分人都在颓☺

    做题的目的

    • 做题的目的是学到新的东西以及锻炼代码能力,而不是盲目刷OJ的rank,那没有任何意义。
    • 提高算法能力(想出做法的能力,分析问题的方法等等)
    • 提高代码能力(写出正确的代码的能力)
    • 提高调试能力(将错误的代码改对的能力)

    我对于OI比赛的题目的看法

    • 对于省选到NOI来说
    • 大部分由于做过类似的,不用想就能解决。
    • 之后的大部分顺着题目进行一些简单的分析,就也能转化成做过的问题。
    • 套模型。
    • 学习更多的解题模型,可能具体也可能抽象,要多加思考。

    在训练过程中如何做题

    • 选择一个好的OJ/TC/CF <-优秀的题目来源
    • 适度而不过量的思考<-节约时间
    • 如果做不出来,在看了题解之后,总结自己做不出来的原因是什么,以完善自己今后的做题方法。
    • 做题方法是一个很抽象的概念,需要经验的积累(和一定的智商?)

    一些建议:提高代码能力

    • 代码能力很大程度上取决于经验,你可能觉得这种可能需要大量的练习,但是其实也是有捷径的,那就是参考别人的代码。
    • 最佳的方法是找一些可能比较难写的题目(APIO 2010 寻路, APIO 2011 kunai,CTSC 2011 杀菌计划挺多的),自己很可能写不出来,这时可以参考别人的代码,搞明白那些细节都是怎么处理的,
    • 优秀的代码风格能够极大的提高代码能力。

    在比赛中如何做题?

    • 分析问题的方法是什么?
    • 不是凭运气猜出做法,而是根据一定的思路从容的得出解法。

    总结如何做题

    • 做题说白了就是建模和解决模型的过程。做不出来可能有两个原因,一个是模型建错了,一个是对模型了解不够。前者说明分析没有到位,后者说明知识不够扎实。
    • 对各种模型有清楚的了解,这样才能轻松的做题,真正的高手不一定智商很高,但是建模能力一定很强。

    分析问题的方法:我的一些经验

    • 从简单的情况开始分析:经典方法,对原题没有思路,那么分析问题的简化版。
    • 经典例子:找出字典序最小的解,那么我们先分析怎么找出一个解。
    • 人的思维很大程度上跟关键字有关系,比如一个题目怎么想都不会,有人跟你说“容斥”,你可能瞬间就会做了。不妨列出对于这类问题已知的一些解决方法关键字,思考思考能否做。

    原作者:HFLS-WJMZBMR

  • 相关阅读:
    新年献礼 技术胖262集前端免费视频 让您走的更容易些
    Eruda 一个被人遗忘的调试神器
    你(可能)不知道的web api
    含有阶乘的幂级数和
    sin x 特解的假设
    将y=arctanx展开为x的幂级数
    判断数项级数是否收敛
    ubuntu中用安装字体的方法解决文档中的音标乱码
    英语单词
    用递归实现汉诺塔
  • 原文地址:https://www.cnblogs.com/zbsy-wwx/p/11680498.html
Copyright © 2011-2022 走看看