世界顶级选手的刷题之道

dreamoon,知名台湾籍ACM选手,此为他的codeforces曲线:

关于中间突降的那段,还有个小故事:

当时dreamoon已经是世界上的顶级选手,甚至前一场的div1他排名第3!(当时cf的分制和现在不同,所以现在看起来只是个红名)

由于他没有拿到过div2的第一名,于是决定一直故意掉分使自己有资格打级别较低的div2场。

这个机会终于到来,but当dreamoon决定在这一场暴露大佬本质并拿下第一之时……他被狙了。

没错,被一个更牛逼的神仙开个小号调戏了……

回归正题来讲。

dreamoon作为一个世界顶级选手,罕见地给全世界众萌新发放了福利!本期为他在codeforces上的blog:If you ask me how to improve your algorithm competition skill, I will give you the link of this blog.(如果你问我如何提高算法竞赛水平,我将给你这篇博客的链接),原文链接为:http://codeforces.com/blog/entry/16599

以下为AlphaWA的翻译,如有不准确之处,见谅;另,博客下的讨论请读者移步原文链接查看,此处就不做提供了。

正文:

最近一年有许多人在发消息问我同样的问题,所以我决定创建这篇博客。

丑话说在前头,读完这篇博客你可能会感到失望,因为我并不知道什么特殊的捷径。其实我的学习方式浪费了我许多许多时间。

以下是你应该已经知道的两个基本点:

1.练习、练习、不断地练习!思考并解决题目花费了我许多时间,我觉得平均一天我要花5个小时在这上面。

2.与强者结交。我认识很多高水平选手,比如: arosusti, kelvin, peter5021(0O0o00OO0Oo0o0Oo), seanwu, Shik, takaramono, tmt514, ...如果我遇到那种几个星期都想不出来的题,我基本上都能从朋友们那里得到解答。

然后我说一下我自己怎么训练的。

我刷题的时候可能有两种刷题顺序:

1.从解决人数最多的题目开始;

2.做题号相连的题目并尝试全部解决他们。

我不知道哪种更好一点,但我经常改变策略。然后当我觉得这个OJ已经没什么我能解决的题目以后,我会换个OJ继续这么做。

实际上我觉得刷题顺序对我来说并不是很重要。当我要阅读并解决某OJ上90%的题目时,你觉得顺序还重要吗?我真不知道哪种顺序是最好的,所以我把大多数题都做了。

列几个我用的OJ吧(一些台湾的OJ不对外开放就不列了啊):

1.Codeforces。我认为cf是现在最好的OJ。好用,并且大部分题目都有教程。

2.Topcoder。tc上有很多好题。甚至有时我觉得某些250分的题都很巧妙。这上的大多数题也有教程。

3.SGU。我觉得sgu是最难的OJ了。上面很多题都要用到不常见的技巧。

4.Timus。这个OJ上有很多较难的比赛,我认为对团队训练有益。

5.ProjectEuler。这上有很多好的数学题。而且你解题后也可以在论坛上看看别人是怎么解决这个问题的。

我认为平时练习和正式比赛是两种完全不同的感觉。所以有时我会在OJ上随机选一些题目形成一个题集然后设定时间限制,来训练我自己。但是现在Codeforces已经有了虚拟比赛的功能,所以这件事我们可以在cf上更简单地完成。

我不按专题刷题。正相反,我是在遇到一道不会的题目时再去学这个题目相关的专题。我会问朋友们这个题跟哪些专题相关,然后去谷歌一下。(译者注:一般后期都是这样刷的,显然你前期交不到大佬朋友……所以大家适当汲取,切忌邯郸学步)

很多时候即使我能解决这道题我也会阅读一下别人的AC代码。有时我们会发现一个完全不同的解决方案,可能是时间复杂度更低,也可能是代码更短。

我也没什么特殊的网站和学习资料了,就是遇到了就google吧。

这就是我学习算法竞赛的所有方法了。

END~

原文发布于微信公众号 - ACM算法日常(acm-clan)

原文发表时间:2018-11-03

本文参与腾讯云自媒体分享计划,欢迎正在阅读的你也加入,一起分享。

发表于

我来说两句

0 条评论
登录 后参与评论

相关文章

来自专栏大数据挖掘DT机器学习

为什么有些公司在机器学习业务方面倾向使用 R + Hadoop 方案?

作者:王威扬 文思海辉技术有限公司数据挖掘解决方案经理 知乎 https://www.zhihu.com/question/22145076/answer/...

3345
来自专栏about云

大数据术语入门整理

问题导读 我们在学习的过程中经常听到一些术语,那么这些都是什么含义? 1.什么是大数据? 2.什么是数据分析? 3.什么是数据挖掘? 4.什么是数据可视化? 这...

4267
来自专栏企鹅号快讯

浅谈机器学习业务方面使用R+Hadoop 是否可靠

众所周知,R 在解决统计学问题方面无与伦比。但是 R 在数据量达到 2G 以上速度就很慢了,于是就催生出了与 hadoop 相结合跑分布式算法这种解决方案,但是...

1889
来自专栏ATYUN订阅号

机器学习可以通过风格确定代码背后的程序员

自动化工具现在可以准确地识别论坛帖子的作者,只要他们有足够的训练数据可供使用。但是较新的研究表明,这也可以应用于人工语言样本,如代码。事实证明,软件开发人员也留...

1512
来自专栏PPV课数据科学社区

【工具】为什么有些公司在机器学习业务方面倾向使用 R + Hadoop 方案?

引言:众所周知,R在解决统计学问题方面无与伦比。但是R在数据量达到2G以上速度就很慢了,于是就催生出了与Hadoop相结合跑分布式算法这种解决方案,但是,pyt...

2877
来自专栏PPV课数据科学社区

如何创建用户模型:问卷调查与数据分析

很想写一些东西来总结总结自己的工作,可惜工作太忙一直也没顾得上来写。最近闲来想和大家讨论讨论关于创建用户模型的事情。 一、用户模型的建立与问卷数据的采集 Per...

4624
来自专栏星流全栈

G2 - 阿里巴巴内部开放的数据可视化工具

2525
来自专栏大数据文摘

手把手:R语言文本挖掘和词云可视化实践

2403
来自专栏tkokof 的技术,小趣及杂念

音乐游戏&音频解析 ABC(下)

  首先我们应该先确定一下我们到底需要解析歌曲的哪些信息?歌名?作者?呵呵,都不是,我们要解析的应该是歌曲的“信号”属性(譬如歌曲的BPM)。然而歌曲的这些属性...

1251
来自专栏PPV课数据科学社区

【工具】数据科学家必知必会的 7 款 Python 工具

如果你有志于做一个数据专家,你就应该保持一颗好奇心,总是不断探索,学习,问各种问题。在线入门教程和视频教程能帮你走出第一步,但是最好的方式就是通过熟悉各种已经在...

3366

扫码关注云+社区

领取腾讯云代金券