《算法竞赛入门经典》刘汝佳 入门经典啊~
然后感觉直接看郭嵩山写的《国际大学生程序设计例题解》(好像有四册)比较好,语言一三册pascal,二四册c++;一三主要讲算法和相应题解(数论,搜索,计算几何,图论,动态规划等);二四则为题库型的,带讲解、测试数据和源代码。对noi用很不错的。还有就是《算法导论》最好有一本。
《算法导论》确实是本好书,对于各种知识讲得都很全,即使有些相关知识没有仔细讲也会在课后习题或思考题里给出提示,根据提示上网查都能查到相关资料。导论的特色在于将严格的数学证明和算法设计结合在了一起,并且基本做到了面面俱到,当作一本工具书非常不错。导论的数学证明部分可能有些东西你没学,到大学里才会学到,比如群论的知识;不过没事,看不懂的地方直接跳过证明看算法就行,一般不会太难理解的。
然后是《算法艺术与信息学竞赛》,这本书难度较大,不过提供的思路非常好。
noi会出现很多noip中不会出现的知识,首先高级数据结构——并查集,线段数,树状数组,trie,后缀树等都是有可能的,其次算法方面——图论里的最小生成树,最短路,强连通分量及其缩点,网络流,二分图匹配等都有可能;动态规划——必考内容,而且难度一般较大一点,会加状态压缩或各种优化什么的(比如四边形不等式的优化),还有搜索啦,计算几何(凸包)啦之类的。
题库不知道现在vijos发展的怎么样了,推荐去ACM/ICPC的题库做题,如北大,浙大,杭电的,题目非常多而且很全;不过acm的题基本全是英文的,英文不好就挂了,USACO也是个很不错的网站。
我是山东的 ,上海那边不熟,反正我们这儿要先一等然后再集训,最后省选前几名。上网查查就好了。
最后,祝你在noi的大舞台上展现自己的风采。呵呵~我不在参加noi了,上大学搞acm了,希望我的一点想法对你有所帮助。
算法艺术与信息学竞赛
算法导论
你准备NOI,算法导论必修!
不看算法导论,把从02年以来所有国家集训队论文都看掉
NOI考什么?
只有想不到,没有考不到。 考一切,在世界上所诞生的算法。(除了代码量特大的算法)
《算法竞赛入门经典》刘汝佳那个书,才是入门。 但是还是不错的,我也有看。
算法艺术与信息学竞赛不是让你直接看,那是信息学界的圣经,是目录……
你看见算法,然后去百度找资料。 网上资料还是很多的
USACO 速度全部刷完。 月赛看自己情况,做金组题
然后去做 衡阳八中OJ 的省选题。
准备NOI,网络流要很强大,DP要很强大。 数学要很强大。
哎,我今年NOI,但是连去年的卷子都做不到银牌的分数。 我悲剧了……
只有前辈的经验, 看集训队论文,很重要!
推荐一本刘汝佳的《算法竞赛入门经典》
不仅有算法还有很多竞赛技巧,比如如何防止中间结果溢出啊,如何debug啊,如何对拍啊,等等东西,既教算法又教C语言,算法难度对于NOIP是够了,每章后面还复了习题。
这部书共有三本,但是后两本还没有出,那就是准备ACM的难度了……
题库建议去刷USACO,美国为高中计算机竞赛选手准备的题库,(以IOI为目标),循序渐进的。每题都提供测试数据,而且在NOCOW上有非常全的题解和代码,刷完收获会很大的:)