ACM初学者应该学什么?

快速入门ACM太过雄心勃勃。。

我的看法:

第一阶段:刷水问题先刷水问题,也就是几乎不涉及算法。你需要自己想办法解决

这样的题,一是锻炼逻辑思维和思维的严谨性,二是锻炼代码能力(写代码越来越长,错误越来越少,看别人的长代码能很快理解对方的想法,这都是代码能力)

如果代码能力不够,直接学习算法会非常困难。。

每个OJ刷200个水题,所以是入门。。:(建议去HDOJ,因为上面有很多水的问题,适合初学者。11和16页有很多中国水的问题)。越到了实在不行的地步,就穿上。。

第二阶段:逐渐学习一些简单的算法。。

HDOJ的论坛上有一些课件,刷水题就差不多了。看课件(有些课件不是很详细,这个资料可以去百度),学习一些基本的算法,继续刷题。。。。。

第二阶段刷到400。

第三阶段:在第二阶段的基础上继续纠结算法。这时候可以看看算法的介绍。学习数据结构。继续刷题。。

刷到600。

看完《算法导论》,楼主可以看看刘汝佳的黑皮书(算法艺术与信息学奥数)。

楼主如果能坚持到这个时候,那就是牛了。。

那么楼主应该知道怎么去。。

我个人也是菜鸟,这是听老师和大牛的教导总结出来的。哈哈。。

希望楼主不要觉得这些流程难做。。

ACM是一条很艰难的路,希望楼主能坚持下去。一起来吧...