撇开绩点啊,保研啊,学分啊这些不考虑,这些太功利了。
如果你要搞ACM,首先你要对它感兴趣,或者说你对编程,数学,思考问题,技巧性的东西感兴趣。搞ACM的好处就是你不仅学到算法和数据结构,更重要的是培养了你思考问题的能力,还有提高编程能力,搞过ACM和没搞ACM的人的编程能力是有很大差别的。搞一门东西贵在坚持,这样才能在这方面变得专业。
要搞好ACM意味着你可能没时间搞项目啊,辅修其他东西啊,开发小软件之类的啊…对于开发小软件,我的想法是,如果你ACM搞得好,熟练Java,C++,负责后台,找个同学负责界面,加个好的idea,开发软件完全不在话下。但是你想让熟练开发软件的同学写一个二叉树可能都成问题……
ACM和平时学习怎么权衡这样看你,你可以两者同时平衡,或者偏向于ACM。这要看你怎么想,哈,我这边是逃课半个学期搞ACM,最后期末考试突击都能考85左右的…只要你意志力强,同时搞好ACM和绩点是可以的,虽然可能不能都搞得最好。
可能还要看的是你在你们学校集训队的发展前途吧。
如果真要认真搞ACM,最重要的就是刷题,到CodeForce,TopCoder上面刷题,或者也可以到HDOJ,POJ上面刷题,或者到VirtualJudge,BNUOJ上面跟队友开比赛。还有很多国外的OJ。反正就是不断地刷题,学习,打比赛。像你某位整天LOL的同学那样就行了。