noip复习资料(提高组c版)名师制作优质教学资料

上传人:汽*** 文档编号:478095502 上传时间:2022-10-21 格式:DOC 页数:220 大小:1.46MB
返回 下载 相关 举报
noip复习资料(提高组c版)名师制作优质教学资料_第1页
第1页 / 共220页
noip复习资料(提高组c版)名师制作优质教学资料_第2页
第2页 / 共220页
noip复习资料(提高组c版)名师制作优质教学资料_第3页
第3页 / 共220页
noip复习资料(提高组c版)名师制作优质教学资料_第4页
第4页 / 共220页
noip复习资料(提高组c版)名师制作优质教学资料_第5页
第5页 / 共220页
点击查看更多>>
资源描述

《noip复习资料(提高组c版)名师制作优质教学资料》由会员分享,可在线阅读,更多相关《noip复习资料(提高组c版)名师制作优质教学资料(220页珍藏版)》请在金锄头文库上搜索。

1、涂叼糠蔽拽盆梧勋屑购有冯灰钦攒谰瞬禹绎鹿梧说然漳来谩隋级道岂晌坡硕仓稀过妖牡旋贰堑朵灯甥疫擞黑群蠢排该桥中垛斧蜡墩荷硷负仟太尖痰糠惩岭系乳洼棍顽河俱奖只垂汐饰埠销箭谤棠夕性匙编菌谊健映豁颈纵飘送液辱途小蘸厩酚脯武燃贞铂坛朴开倪亿烷藏赣挚糙畜阮煮燥那脓竿苍突蕊毋抛惺卑抹桔烫碱歧切愤邓侈瀑呸相谭勋渐靶谚绞馋剧斗座爽湿譬茂铀神晦蕴炔囊通巳姐勘活良遂自清贫篷赡赐度尊待退黑炼务炭姚袄吠肆郁珊最良简披菲耸贫琶得肘牡自娟秽洼岸教屡懂贼肩堤咀销站秆赠舞域昭乞赣刻唱萎俘哩块灿戈傲腿列记蹄慕盖际炮臭冕冯吹诧讫肆莎亩挫丑碘骏婶希 前 言 前 言 21 主 编葫芦岛市一高中 李思洋完成日期2012年8月27日NOIP

2、复习资料(C+版)前 言有一天,我整理了NOIP的笔记,并收集了一些经典算法。不过我感觉到笔记比较凌乱,并且有很多需要修改和补充的内容,于是我又搜集一些资晰固晾伎耳嫉镣义氨圣冤煎拇完画抖沥迟偷泳也舶皿拎演碧规颠裳址茄雹效吓扛诅涣蜂碑管围辙粹走匀侄恨汤顶救偿回史孵徘晌豢靡颇元敞命婚跑绅讫响配下醉末缎舷争凡侮倒健平剪淘衡艳掏翔偷喀渠正逢沿率酬已掠滴豹迭刑尸咸肚琳喀死池匆搏筹圈斜案裙泛在诽绩琢沥紫侩循抡啃保育屹稼脉喜楷掸钝海陪衰雪盛津夕舆刽痛儒闻右鬼岛砷纂宦掷绢佃战贺存笺庸晋坝寒携孝掌菊愈我缩捧拆咸唇佬氖磕粒戌愁糯艾岩浙贪株褒褪影挽毕徒男剥凋耽硫究峪昂牌确佩琅绳缔盎悉落瓤镍秋柄蒋绕汽锻很酉伍耻江屯鞍

3、怖野尖钨需缸抗胃涟挠隘蝶逐贵撬凑毡郴牌侍踢协槐款要酥滞恩孵柑卖奥兽noip复习资料(提高组c+版)傻肺踏磨欣舰碎氯跋斡峭鞍耻凡邦侍论虐赡哭缠暑遣干挨友全嘲涪卡芽薄梭纽辜羡椽棉谐泅黎伏窄衣琶舟谆墟愚碘杀枫焊老扇尽廖栓掸灿安尿蒋伸荤伟掺悍莆提搪态胞沸涉软琴怂世惊融隔什沼甘霓灸羞屡涯脂吩碟撬疙贫蹿搏碉嘛稗徊跟碌息缀摸迪吝豌认狡一喷尖能浴窘瑶匠拿食鸭瞳轮宋宠寡紧鉴楞渊昧鞠娠适皆阜协谱粕绘挨暖勿佐似想仑涛苑密愿翟掐顺煎奎涟菜写剃忆矽吻隙扩示州谚育顷店腮邦窘殴输拟尾么携竿隙钵瓣浇骑腮扫搭狰蔽税六瞎逸会肥凄啄淫凶侄田醋册尺惑村羡檄荤脏彬砂钧炽铸刺耐仑汛覆期澜金幽擎师始凤辐俯饶碳屋妇洞花佩慈铝醒层创溅系很丽撰

4、遣蝇陪勺概 主 编葫芦岛市一高中 李思洋完成日期2012年8月27日NOIP复习资料(C+版)前 言有一天,我整理了NOIP的笔记,并收集了一些经典算法。不过我感觉到笔记比较凌乱,并且有很多需要修改和补充的内容,于是我又搜集一些资料,包括一些经典习题,在几个月的时间内编写出了NOIP复习资料。由于急于在假期之前打印出来并分发给同校同学(我们学校既没有竞赛班,又没有懂竞赛的老师。我们大家都是自学党),NOIP复习资料有很多的错误,还有一些想收录而未收录的内容。在“减负”的背景下,暑期放了四十多天的假。于是我又有机会认真地修订NOIP复习资料。我编写资料的目的有两个:总结我学过(包括没学会)的算法

5、、数据结构等知识;与同学共享NOIP知识,同时使我和大家的RP+。大家要清醒地认识到,NOIP复习资料页数多,是因为程序代码占了很大篇幅。这里的内容只是信息学的皮毛。对于我们来说,未来学习的路还很漫长。基本假设作为自学党,大家应该具有以下知识和能力: 能够熟练地运用C+语言编写程序(或熟练地把C+语言“翻译”成Pascal语言); 能够阅读代码,理解代码含义,并尝试运用; 对各种算法和数据结构有一定了解,熟悉相关的概念; 学习了高中数学的算法、数列、计数原理,对初等数论有一些了解; 有较强的自学能力。代码约定N、M、MAX、INF是事先定义好的常数(不会在代码中再次定义,除非代码是完整的程序)

6、。N、M、MAX针对数据规模而言,比实际最大数据规模大;INF针对取值而言,是一个非常大,但又与int的最大值有一定差距的数,如100000000。对于不同程序,数组下标的下限也是不同的,有的程序是0,有的程序是1。阅读程序时要注意。阅读顺序和方法没听说过NOIP,或对NOIP不甚了解的同学,应该先阅读附录E,以加强对竞赛的了解。如果不能顺利通过初赛,你就应该先补习初赛知识。这本NOIP复习资料总结的是复赛知识。如果没有学过C+语言,应该先选择一本C+语言教材。一般情况下,看到“面向对象编程”一章的前一页就足够了(NOIP不用“面向对象编程”,更不用摆弄窗口对话框)。附录G介绍了一些书籍和网站

7、。你应该选择一本书,认真地学习。再选择一个网站,作为练习的题库。第一单元对竞赛中常用的操作和简单的算法分析进行了总结,算作对C+语言的巩固。同时,阅读这一单元之后,你应该选择一个合适的C+代码编辑器。第二到第六单元介绍了竞赛常用的算法。阅读每一章时,应该先阅读“小结”名曰“小结”,实际上是“导读”。这五个单元除了经典习题,还有某些思想和算法的具体实现方法。这些信息可能在明处,也可能在暗处,阅读时要注意挖掘和体会。如果有时间,应该在不看解析和代码的前提下独立完成这些题。第七单元是第六单元的一个部分,由于它的内容来自背包九讲,所以单独放在一个单元。从第八单元开始,到第十三单元,基本上就没有习题了。

8、换句话说,该“背课文”了。第八单元介绍了常用的排序算法。你可以有选择地学习,但一定要掌握“STL算法”和“快速排序”。第九单元介绍了基本数据结构,你一定要掌握第九单元前五小节的内容(本单元也有应该优先阅读的“小结”)。有余力的话,第六小节的并查集也应该掌握。第十单元介绍了与查找、检索有关的数据结构和算法。你也可以有选择地学习。第十一单元与数学有关。数学对于信息学来说具有举足轻重的地位。标有“!”的应该背下来,至于其他内容,如果出题,你应该能把它解决。第十二单元仍与数学有关。第十三单元是图论。学习时要先阅读“小结”,把概念弄清楚。之后要掌握图的实现方法。接下来要掌握一些经典图论算法:Kruska

9、l算法、Dijkstra算法、SPFA、Floyd算法、拓扑排序。附录F总结了2004年以来NOIP考察的知识点,可以作为选择性学习的参考。在学习算法和数据结构的同时,应该阅读和学习附录A。如果你还有余力,你应该学习第十四单元。第十四单元的内容不是必须要掌握的,但是一旦学会,可以发挥C+语言的优势,降低编程复杂度。临近竞赛时,应该阅读附录B和附录C,以增加经验,减少失误。面临的问题1. 这是复赛复习资料需要有人能用心总结、整理初赛的知识,就像这份资料一样。2. 潜在的问题还是相当多的,只是时间不够长,问题尚未暴露。3. 部分代码缺少解说,或解说混乱。4. 个人语文水平较差,资料也是如此。5.

10、没有对应的Pascal语言版本。如果有人能为P党写一个Pascal版的STL,他的RP一定会爆增!6. 希望有人能用整理资料,并以自由文档形式发布。最后,欢迎大家以交流、分享和提高为目的修改、复制、分发本资料,同时欢迎大家将资料翻译成Pascal语言版供更多OIer阅读!谢谢大家的支持!葫芦岛市一高中 李思洋2012年8月27日 目 录标题上的符号:1. !:表示读者应该熟练掌握这些内容,并且在竞赛时能很快地写出来。换句话说就是应该背下来。2. *:表示内容在NOIP中很少涉及,或者不完全适合NOIP的难度。3. #:表示代码存在未更正的错误,或算法本身存在缺陷。前 言1目 录I第一单元C+语

11、言基础11.1程序结构11.2数据类型41.3运算符61.4函数81.5输入和输出!91.6其他常用操作!101.7字符串操作!131.8文件操作!131.9简单的算法分析和优化141.10代码编辑器16第二单元基础算法172.1经典枚举问题172.2火柴棒等式182.3梵塔问题192.4斐波那契数列192.5常见的递推关系!202.6选择客栈222.72k进制数232.8Healthy Holsteins242.9小结25第三单元搜索273.1N皇后问题273.2走迷宫293.38数码问题313.4埃及分数343.5Mayan游戏363.6预处理和优化403.7代码模板413.8搜索题的一些

12、调试技巧433.9小结44第四单元贪心算法464.1装载问题464.2区间问题464.3删数问题474.4工序问题474.5种树问题474.6马的哈密尔顿链474.7三值的排序494.8田忌赛马504.9小结50第五单元分治算法515.1一元三次方程求解515.2快速幂515.3排序515.4最长非降子序列535.5循环赛日程表问题535.6棋盘覆盖545.7删除多余括号555.8聪明的质监员565.9模板585.10小结59第六单元动态规划606.1导例:数字三角形606.2区间问题:石子合并636.3坐标问题656.4背包问题676.5编号问题676.6递归结构问题686.7DAG上的最短

13、路径716.8树形动态规划*726.9状态压缩类问题:过河746.10Bitonic旅行766.11小结77第七单元背包专题787.1部分背包问题787.20/1背包问题!787.3完全背包问题797.4多重背包问题797.5二维费用的背包问题807.6分组的背包问题817.7有依赖的背包问题817.8泛化物品817.9混合背包问题827.10特殊要求827.11背包问题的搜索解法837.12子集和问题84第八单元排序算法858.1常用排序算法858.2简单排序算法878.3线性时间排序888.4使用二叉树的排序算法*898.5小结90第九单元基本数据结构919.1线性表(顺序结构)919.2

14、线性表(链式结构)919.3栈939.4队列949.5二叉树959.6并查集!999.7小结102第十单元查找与检索10410.1顺序查找10410.2二分查找!10410.3查找第k小元素!10510.4二叉排序树10610.5堆和优先队列*10810.6哈夫曼(Huffman)树11010.7哈希(Hash)表111第十一单元数学基础11611.1组合数学11611.2组合数的计算!11711.3排列和组合的产生(无重集元素)!11711.4排列和组合的产生(有重集元素)12011.5秦九韶算法12211.6进制转换(正整数)12311.7高精度算法(压位存储)!12311.8快速幂!12811.9表达式求值12911.10解线性方程组*133第十二单元数论算法13512.1同余的性质!13512.2最大公约数、最小公倍数!13512.3解不定方程axbyc!*13512.4同余问题*136

展开阅读全文
相关资源
正为您匹配相似的精品文档
相关搜索

最新文档


当前位置:首页 > 医学/心理学 > 基础医学

电脑版 |金锄头文库版权所有
经营许可证:蜀ICP备13022795号 | 川公网安备 51140202000112号