关于信息学奥林匹克竞赛的若干问题(高中)

我高一刚结束。
由于我们省区(山东)在我们这一届实行高考改革,可能要不分文理。而且复读生对应届生冲击很大。另外国家现在正在加大自主招生名额。
我想参加数学竞赛和信息学竞赛。

下面问几个关于信息学竞赛的问题:
1.我自学过C++,也很想在信息学竞赛中用C++,可以吗?推荐这样吗?
2.如果学C++,用什么辅导材料? 有什么值得推荐的书?
3.如果不学C++……

我高中刚毕业,也是搞信息竞赛的。C++是可以使用的,不过有不少限制,如对STL库的限制等。C++是面向对象的语言,但NOIP完全用不上面向对象的设计思想。对于NOIP这种考算法的比赛来看,学好面向过程的语言才是关键,因为NOIP的考核主要是看算法和数据结构,这正符合面向过程语言的设计思想,而C++的核心是类,是对象,这与NOIP要考的知识相差很大。
如果你已经有了C++的基础,那么完全可以用C++参加NOIP。不过与C和Pascal选手比起来,并没有什么优势。关键还在于对算法和数据结构的积累,以及扎扎实实的练习。
当然,如果你愿意,也可以用C参加竞赛。其实两个是差不多的,只要稍微注意一下竞赛大纲对C++的限制即可。
NOIP常用的书目有《奥赛经典》的基础篇、提高篇、数据结构篇等。最好买详细介绍数据结构和算法的书,这样的书也很多,清华大学出版社的不错。
另外,信息学训练常用的网站:
http://www.vijos.cn
http://www.oibh.org (有所有网站的比赛消息发布等)
http://train.usaco.org
(最后一个是英文的,可以去http://www.nocow.cn/index.php/USACO_Training看着翻译做。)
其他的也非常多。
信息学竞赛也需要大量的做题量。另外要多找老师咨询,弄清楚有关比赛的基本知识。我初中参加普及组比赛时完全不会文件操作,结果0分……
也应该看一下NOIP近年发布的大纲以了解相关信息。
祝你好运!
温馨提示:答案为网友推荐,仅供参考
第1个回答  2009-07-09
可以
辅导资料网上到处有,如果是初学者的话,只要有语言指导的书都可以.
不学C++,可以学pascal ,易学易懂. 但真正要学好信息竞赛, 还是要靠活跃的思维
第2个回答  2009-07-09
1.可以丫,还有一种语言是pascal,比c++好入手。但是既然你已经有c++基础那就继续吧!其实用什么语言都是无所谓的,算法都是一样的。
2.材料很多啦。网上有很多题库。像1l推荐的http://www.vijos.cn,还有http://train.usaco.org都不错。如果英语好的话还是做后面一个比较好,这个比较系统。另外那个http://www.oibh.org上面有很多消息,包括题目,还有办模拟赛的消息,很不错。www.noi.cn,是大赛官方网址。书嘛,像1l推荐的《奥赛经典》上面的代码都是伪代码,趋向于pascal的(比赛用pascal的人很多的),不过很不错的,建议看。另外还有一本《全国青少年信息学奥林匹克联赛培训教材(中学高级本)》,很不错,还有一本习题,可以看看。上面的算法都是要考的。
3.不学c++就是pascal,容易理解,容易懂。

山东好像还是蛮厉害的省。好好加油吧,两个月时间有点紧。