- 1、本文档共19页,可阅读全部内容。
- 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
- 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
- 5、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
- 6、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们。
- 7、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
- 8、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
NOIP Course 2 By Peng Kejing @ SCAU-GIS SECTION A. 搜索 搜索算法的本质 按照一定的顺序和规律枚举一个问题可能的答案,然后求出其中合理的答案的个数或者选出一个最优的答案 不是任何问题都可以进行搜索。原因是: 规模很大 规模无穷 Problem A 背包问题 你有n件物品。对于物品i,其重量为Wi单位,价值为Mi单位,且你有一个可以装载W单位的背包。问:如何选取物品,使取的物品价值最大,且重量不超过W。 Problem B N皇后问题 在一个N*N的棋盘里面,要放N个皇后,问有多少种放置的组合,使皇后不能够互相攻击。 Problem C 翻棋子游戏 在一个4*4的棋盘里面,有许多双色棋子,棋子的一面是黑色,一面是白色。可以对其进行翻转操作:选择一个棋子,将其反转,此外还要将这个棋子上下左右的棋子反转(如果有)。问:最少要经过多少次,才能够把整个棋盘的棋子变成黑色或白色? Problem D 导弹问题 某国发明一种神奇的导弹。该导弹能够连续射击一系列敌人的目标。前提是:这些目标的高度必须是下降的。也就是说:例如敌人的目标高度分别是4, 5,2, 3, 1,那么至少需要两枚导弹才能够射击所有的目标。第一枚导弹击落4,3, 1,第二枚导弹击落5,2。 给出一个高度序列,问:至少需要多少枚导弹才能击落所有的目标。 Problem E, NOIP原题 在n*m的棋盘上放置k个国王,要求k个国王互相不攻击,有多少种不同的放置方法。假设国王放置在第(x,y)格,国王的攻击的区域是:(x-1,y-1), (x-1,y),(x-1,y+1),(x,y-1),(x,y+1),(x+1,y-1),(x+1,y),(x+1,y+1)。也就是以(x,y)为中心的3*3范围以内的格子 读入三个数n,m,k,输出答案。题目利用回溯法求解。棋盘行标号为0~n-1,列标号为0~m-1。 当前决策影响后序决策 也就是说:当前的方案与后序的部分方案互斥。例如,在(1,1)放置了皇后之后,就不能够在(1,2)再放置 可以通过屏蔽掉后面不可能的决策来搜索加快效率 处理方法1:记录之前的方案,每次都与前面的方案进行判断,看看是否互斥(低效) 处理方法2:使用数组或其他结构,进行屏蔽(高效) 当前决策与后序决策 基本没影响,或难以判断: 背包问题 翻棋子问题 有影响: 皇后问题 因为一行一列一斜只能够放置一个棋子。 国王放置问题 因为3*3的方格内只能够放置一个棋子 回溯法递归的基本框架 Procedure dfs(旧状态) Begin if 到达决策低端 then 特殊处理,退出 当前抉择i 如果 抉择影响会后面的抉择 begin 临时屏蔽后面不可能的方案 进入下一层递归 dfs(新状态) 解除屏蔽 end; End. Problem F’’ 音乐会安排 有一个剧院,有若干个大厅。编号分别1-8。有N个音乐会申请。每个音乐会申请包括一个时间段[Ai, Bi],表示开始时间和结束时间,以及一个他可以使用的大厅的列表,该音乐会只需要从列表中选取一个大厅使用即可。明显,不可能把两个时间冲突的音乐会安排到同一个大厅之中。 给出这些音乐会的申请,问能否满足所有音乐会的申请要求。 SECTION B. 算法与数据结构基本知识 算法复杂度 一般使用O(f(n))表示 指一个算法在规模n趋近无穷大的时候,所需要运算的次数。 常见的复杂度:O(n) ,O(n^2) ,O(n^3) , O(nlogn), O(2^n), O(n!) 有时候需要考虑算法的最坏情况。举例:快速排序 什么是数据结构 一种存在于计算机内存或文件中的数组组织方法。 根据一定的功能抽象出来的。 仅存在于人的思维之中,是一种抽象的结构。 人们研究这些抽象的结构如何在计算机之上进行实现。 线性表 能够实现如下功能的结构: 维护一个列表。 可以插入节点,删除节点,查找节点 实现方法: 数组 链表 复杂度分析 特殊的线性表 栈Stack 特点:先进后出 队列Queue 特点:先进先出 树 定义: 特殊的形态:二叉树。 二叉树的三种普通遍历和一种特殊遍历 前序 中序 后序 层次 一些扩展问题:使用前序/后序和中序遍历恢复树的结构 树 表达式与树 三种遍历的实现方法,一般二叉树的存储结构 前序遍历的非递归实现 树作为一种存储结构 二叉排序树 平衡二叉树 旋转 理想的平衡情况下,树作为存储结构,每次查找、插入、删除的复杂度为O(logn)
您可能关注的文档
- 提高电梯保养工作性能之途径_英文_.doc
- 提高气动马达效率的有效途径_图文.doc
- 提高电梯曳引能力的途径.pptx
- 提高沸腾炉使用寿命的有效途径.doc
- 提高干部教育培训实效性的途径.doc
- 提高钨钢模具质量的途径.doc
- 提高青少年科技素养的途径与方法研究_图文.doc
- 提高铁路客运服务质量的途径 论文.doc
- 提高织物耐磨性的途径.ppt
- 搜索新途径――网上搜索(“教学中的互联网搜索”参赛教案)_图文.doc
- 小学科学:ESP8266智能插座电路原理与动手实践研究教学研究课题报告.docx
- 《金融开放浪潮下我国多层次监管体系构建与创新研究》教学研究课题报告.docx
- 区域教育质量监测中人工智能应用的数据质量分析与优化策略教学研究课题报告.docx
- 《金融科技监管中的数据治理与合规性要求》教学研究课题报告.docx
- 《3D打印技术在航空航天领域中的多材料制造与复合材料应用》教学研究课题报告.docx
- 《绿色金融发展中的政府职能与市场机制研究》教学研究课题报告.docx
- 《植物工厂多层立体栽培光环境调控技术对植物生长发育节律的调控机制探讨》教学研究课题报告.docx
- 销售团队年度业绩总结.docx
- 银行风险管理与金融危机防范.docx
- 银行网络攻击预警与快速响应机制.docx
文档评论(0)