清华OJ,一点刷题经验


清华大学公选课数据结构A作业范围查询:http://dsa.cs.tsinghua.edu.cn/oj/problem.shtml?id=936

花了接近一周时间,终于搞定了这题作业。作业并不难,但是无论我如何改进代码总是超时,导致我一度放弃。今天终于做出来了,对C++的输入输出有了全新的认识。

此前用自己的方法写下了C++代码,但无奈总是超时,于是在网上搜到了这篇博客:http://blog.sina.com.cn/s/blog_59fa585c0102v2el.html

我几乎照着代码改了一遍,却依然超时,百思不得其解。我甚至用自己的代码和这份代码做过profile分析,关键步骤耗时相差无几。最终当我偶然将cout换成printf后就通过了,由此也可以看出不仅是cin慢,cout也很慢。

用vs做的profile:

 

输入方面尽管换成了scanf,但依然占用了70+%的时间。

而在清华的OJ上的测试应该含有很多的cout,但题目中并未指出这一点,下图是改cout之前和之后的比较,竟有超过50%的提升。

 


免责声明!

本站转载的文章为个人学习借鉴使用,本站对版权不负任何法律责任。如果侵犯了您的隐私权益,请联系本站邮箱yoyou2525@163.com删除。



 
粤ICP备18138465号  © 2018-2025 CODEPRJ.COM