- 1、本文档共55页,可阅读全部内容。
- 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
- 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
ACM 程序设计 今天, 你 了吗? 每周一星(7): 第八讲 根据“信息学初学者之家”网站的统计,Ural(俄罗斯的Ural州立大学的简称 ,那里设立了一个Ural Online Problem Set,并且支持Online Judge。 )的题目类型大概呈如下的分布: 搜索 动态规划 贪心 构造 图论 约10% 约15% 约5% 约5% 约10% 计算几何 纯数学问题 数据结构 其它 约5% 约20% 约5% 约25% 搜索题特点分析: 题意容易理解 算法相对固定 编程有路可循 竞赛必备知识 ——摘自《ACM竞赛之新人向导 》 “算法中最基本和常用的是搜索,主要是回溯和分支限界法的使用。这里要说的是,有些初学者在学习这些搜索基本算法是不太注意剪枝,这是十分不可取的,因为所有搜索的题目给你的测试用例都不会有很大的规模,你往往察觉不出程序运行的时间问题,但是真正的测试数据一定能过滤出那些没有剪枝的算法。实际上参赛选手基本上都会使用常用的搜索算法,题目的区分度往往就是建立在诸如剪枝之类的优化上了。 ” 什么是搜索算法呢? 搜索算法是利用计算机的高性能来有目的地穷举一个问题的部分或所有的可能情况,从而求出问题的解的一种方法。 搜索过程实际上是根据初始条件和扩展规则构造一棵解答树并寻找符合目标状态的节点的过程。 预热一下:二分查找 2 3 4 5 6 8 12 20 32 45 65 74 86 95 100 查找示意图: 思考: 1、在一百万个元素里查找某个元素大约需要比较多少次? 举例分析 从简单的字符串搜索讲起 HDOJ_1238 Substrings 题目链接 Sample Input23ABCDBCDFFBRCD2roseorchid 题目分析: 这是一道入门级别的搜索题,基本思想比较简单,但是如果用最朴素的算法,可能会超时如何降低算法的复杂度呢? 说明: 本题除了可以练习基本搜索算法,也是练习字符串处理的好题目,题中用到的相关知识点有: 求反串 求子串 字符串查找 求字符串长度 强烈推荐!! 再来一道数值型搜索题 HDOJ_1239 Calling Extraterrestrial Intelligence Again 题目链接 Sample Input5 1 299999 999 9991680 5 161970 1 12002 4 110 0 0 获取有用信息 a.给定整数m,a,b(4 m = 100000 and 1 = a = b = 1000) b.需要找到两个数(不妨设为p,q)满足以下条件: p,q均为质数; p*q=m; a/b = p/q = 1; c.输出所有满足以上条件的p,q中乘积最大的一对p,q 算法分析 1.典型的搜索 从所有可能的p,q中寻找满足条件的一对 2.p,q的要求 p,q均为质数,且p=q=100000; 3.按上述思想流程应为 面临的问题: 超时! 从1—100000的质数运算约为1e+8,而这只是准备工作。 因此,如不加以分析简化此题无法在规定时间内出解 深入分析 考虑大于10000的某个质数,不妨设为Q,另一个质数为P,则: 搜索时的技巧: 搜索顺序很重要。建议从大往小搜 ( num:质数的个数 ) for (i=num-1;i=0;i--) for (j=i;j=num-1;j++) …… 注意剪枝: If ( a[j]m || a[j]*a[i]m || ( (double)a[i]/a[j])s ) …… 真正的搜索题 迷宫搜索 预备知识——树的遍历 树的遍历主要有如下四种方法: 1.先根/序遍历 2.中根/序遍历 3.后根/序遍历 4.层次遍历 (1)先根遍历 对树的访问次序是: 1.先访问根结点 2.再访问左子树 3.最后访问右子树 4.对于左右子树的访问也要满足以上规则 以上二叉树的先根遍历序列是:?? (2)中根遍历 对树的访问次序是: 1.先访问左子树 2.再访问根结点 3.最后访问右子树 4.对于左右子树的访问也要满足以上规则 以上二叉树的中根遍历序列是:?? (3)后根遍历 对树的访问次序是: 1.先访问左子树 2.再访问右子树 3.最后访问根结点 4.对于左右子树的访问也要满足以上规则
您可能关注的文档
- 13《故乡》.ppt
- 第七讲_坐标系中的几何问题.doc
- 第七讲_拓扑与几何形体有效性.ppt
- 13人口迁移ppt1.ppt
- 15-武装冲突法-国际人道法.ppt
- 第七讲―精神分裂症.ppt
- 13白鹅(完美版).ppt
- 14-鹿与狼的故事(很好用)2.ppt
- 13单相桥式整流电路.ppt
- 第七章问题解决与创造性思维(论文资料).ppt
- 人教版九年级英语全一册单元速记•巧练Unit13【速记清单】(原卷版+解析).docx
- 人教版九年级英语全一册单元速记•巧练Unit9【速记清单】(原卷版+解析).docx
- 人教版九年级英语全一册单元速记•巧练Unit11【速记清单】(原卷版+解析).docx
- 人教版九年级英语全一册单元速记•巧练Unit14【单元测试·提升卷】(原卷版+解析).docx
- 人教版九年级英语全一册单元速记•巧练Unit8【速记清单】(原卷版+解析).docx
- 人教版九年级英语全一册单元速记•巧练Unit4【单元测试·提升卷】(原卷版+解析).docx
- 人教版九年级英语全一册单元速记•巧练Unit13【单元测试·基础卷】(原卷版+解析).docx
- 人教版九年级英语全一册单元速记•巧练Unit7【速记清单】(原卷版+解析).docx
- 苏教版五年级上册数学分层作业设计 2.2 三角形的面积(附答案).docx
- 人教版九年级英语全一册单元速记•巧练Unit12【单元测试·基础卷】(原卷版+解析).docx
最近下载
- 2024年中国石油秋季招聘通用能力考试笔试备考试题及答案解析.docx
- 第一课 教室盆栽我做主—盆栽养护 课件 浙科版综合实践活动四年级上册.pptx
- 医疗安全(不良)事件根本原因分析法活动指南.pdf VIP
- 2023年中考押题预测卷02(杭州卷)-英语(考试版)A4.docx
- 于品 清华丘班数学分析讲义.pdf VIP
- 金融风险管理(中央财经大学)中国大学MOOC(慕课)章节测验试题(答案).pdf
- 一年一度喜剧大赛江东鸣《先生请出山》完整台词.docx VIP
- 党员立足本职岗位发挥党员先锋引领作用发言稿.doc VIP
- 《机床电气控制》M7130型卧轴矩台平面磨床的电气控制.pdf VIP
- Unit 4 Period 4 Developing Ideas 课件-高一上学期英语课件(外研社2019必修第一册).pptx
文档评论(0)