Intro

USACOgate是美国佬给他们的中学生准备的一个培训网站,旨在培养对竞赛有兴趣的学生。不过不管什么地方的人都是可以用的啦。

5年前第一次玩这个的时候,为了它几乎废寝忘食。但不幸一次硬盘崩溃,报销了我所有的文档。现在忙里偷闲回顾一下,发现自己居然对这些题目还记忆犹新,写点心得出来share一下,我对算法不在行,大学里也只是过关了事。USACO是激起我对algorithmic programming兴趣的起点。不知道是自己崇洋,还是老外的教学比咱们好呢?USACO现在可以用提交java的程序了,不知道怎么算时间,java不是很慢么。。。

USACO的机器在我印象里很牛B,当初我的机器上跑3s的code在他机器上1s之内一定跑完。不过现在怎么样就不知道啦。知道他的机器和你机器的性能比,有一个大概的印象,对写代码满有好处的,至少调试的时候有个方向。菜鸟不追求0s,贴线过关当初可是我的第一目标,惭愧惭愧;) 有的题目确实很难有完美的performence,那些0s的家伙都被Rob称为Speed Monster:D

大致上,限制是5s之内跑完,16M的数据容量,1M的堆栈容量。看看好像满大的,但一个递归就可能让你的程序fail了,用递归的时候要小心注意自己的递归有多深。而且递归的不好,不但stack不够用,还会有大量的function call,时间都被吃光了。另外要注意的是,他是linux的OS,有些变量名在windows下ok,但是在他那里却是一个系统变量,比如mmap。这个足够叫你郁闷一下了。不要声明不用的变量,好像通不过他的编译。

还有,不要cheat,Rob很牛,他会用各种方法检测你是不是在作弊。比如直接printf答案-_-!,这么stupid的行为会导致account被直接kill掉。

我的观点是,在这个上面cheat毫无意义,而且网上有大量的USACO答案和分析。看不看完全在自己,他又不规定时间,也不给你压力。Have as much fun as possible,这是Rob的注语。

最后,由于C/C++的通用性,Rob给出了一些hints,比如某些函数是不存在的,itoa()之类。比如比较浮点数的注意事项,又比如整数的长度等等。自己check吧。有问题可以email问他。。。。。。问我也行,尽力而为啦:)

OK, GO!GO!GO!

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值