手记7.29

       昨天教主发了一顿火,主要原因是感觉集训队目前训练状态很成问题,回去之后我也做了反思。的确,目前大家的训练状态感觉很差,拿到一个题纯粹是为了AC而去AC,在比赛的时候可以,因为比赛只看结果,比赛只是为了AC而去做题,你过了就是过了,不能过你编的怎么天花乱坠,算法用的怎么精妙也是白搭,而平日训练不一样,平日训练是为了提升能力而去做题。

一道题,我们不仅要去仔细思考这题的最优解法,要去思考为什么刘汝佳老师会把这样一题放在这里供后人去做,更要考虑你能从这题里收获什么:一道高效的题假如你用暴力水过去之后有没有想过为什么这题别人0.5s过,你1.5s过?为什么这题不在暴力那一章而在高效这一章?为什么一打比赛平时很勤奋刷题很多的人打不过哪些题少的人?同样的,你学一章数据结构,之后做别的题你是否能够加以利用,在比赛的过程中用它去过题,优化你的代码?

就个人而言,我认为,完完全全吃透一道题比你囫囵吞枣的AC 5道这种题要有用的多。之前我们很多人都抱着拿到一个题,不管用什么办法不把他A出来就誓不罢休的想法去做题,不过现在想来 我们似乎都错了,一个题想过很多种方法才做出来和一道题拿到今天就得搞出来的效果是不一样的,以下是教主在群里的一段话,我感觉十分经典:

锻炼代码能力是要不断改代码,改对为止,然后从别处学一些更好的写代码的方法,这些都很好办,不断交题,看书看别人代码就能做到。锻炼思路跟锻炼代码能力一样,不断改自己的思路,不断寻求新方法,看书看别人思路学习新方法。你们如果把想的过程,变成了不断修改代码,这样锻炼思路变成了锻炼代码,达不到锻炼思路的要求。OJ上的题目测试不可能完全卡准思路的,毕竟是通过数据来测试代码,通过测试数据转了一层来控制思路,能否卡住准确的思路要看很多指标:时间、空间的限制,测试数据的完备。所以,锻炼思路主要是依靠做题人自己来控制,而不是交给OJ来控制,只依赖AC来判断自己的对错,恐怕很难在思路上有很大提高。一般来讲,OJ上给出的时间基本是标程的3~5倍,ACM比赛是没有时间提示的,运行程序的时间一般卡到标程的2~3倍,要求比OJ严格一些,因为OJ上不是单机单线程来跑测试数据,所以,才会出现一个程序跑几次有时能过有时不能过,卡OJ时间过的,基本就是水过去,当然水过去也是本事,当你具备了水题的本事,连思路的时候,过题时间就很重要了,自己看看过题时间吧

凑代码过题是一个本领,正确的思路是最高的能力追求。

所以以后,我认为很需要去改变一下自己的训练方向了,为了获得收获而去A题,而不是为了A题而A题。身为一个ACMer,通过刻苦的训练,在拥有思路,代码能力这些基础之后再去总结一些自己的经验和方法,自我总结,自成体系,这样也算是可以独挡一面了。

最后,再重复那一句经典的话:凑代码过题是一个本领,正确的思路是最高的能力追求。

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值