a(lecture_09)搜索入门080427
ACM程序设计 杭州电子科技大学 刘春英 acm@hdu.edu.cn 上周, 你 了吗? 每周一星(8): 第九讲 一招制敌之搜索题 根据“信息学初学者之家”网站的统计,Ural(俄罗斯的Ural州立大学的简称 ,有名的Ural Online Problem Set 就是该校的系统)的题目类型大概呈如下的分布: 搜索 动态规划 贪心 构造 图论 约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 题目分析: 这是一道入门级别的搜索题,基本思想比较简单,但是如果用最朴素的算法,可能会超时如何降低算法的复杂度呢? 下面的算法如何: 先将字符串按长度从短到长排序,枚举最短的字符串的子串,判断是否都是别的字符串的子串,求出最大长度即可。 说明: 本题除了可以练习基本搜索算法,也是练习字符串处理的好题目,题中用到的相关知识点有: 求反串 求子串 字符串查找 求字符串长度 再来一道数值型搜索题 HDOJ_1239 获取有用信息 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.按上述思想流程应为: a.从1—100000中搜出质数 b.两层循环,试遍所有的组合(p,q可能相等) c.每种组合去判断是否符合条件,如是,将p*q与当前最大值比较,判断,保存 面临的问题: 超时! 从1—100000的质数运算约为1e+8,而这只是准备工作。 因此,如不加以分析简化此题无法在规定时间内出解 深入分析: p,q的范围其实可在2—50000(why?) 然而,这是最小的范围吗? 考虑大于10000的某个质数,不妨设为Q,另一个质数为P,则: 如果P10,P/Q0.001 如果P10,P*Q100000 而考虑到a,b的取值范围(1=a=b=1000) 可知min(a/b)=0.001 同时,要求: p*q=m=100000 所以无论如何质数都不能超过10000 搜索时的技巧: 搜索顺序很重要。建议从大往小搜 (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 ) …… 典型搜索——迷宫搜索 HDOJ_1010 Tempter of the Bone 要点分析: 典型的迷宫搜索,熟练掌握该题将具有里程碑式的意义! 每个block只能走一次 要求恰好某个给定的时间到达出口 剪枝条件? 如果可走的block的总数小于时间,将会产生什么情况? 还想到什么剪枝? 奇偶性剪枝 可以把map看成这样: 0 1 0 1 0 1 1 0 1 0 1 0 0 1 0 1 0 1 1 0 1 0 1 0 0 1 0 1 0 1 从为 0 的格子走一步,必然走向为 1 的格子 从为 1 的格子走一步,必然走向为 0 的格子 即: 0 -1或1-0 必然是
您可能关注的文档
最近下载
- 小学一二年级全册体育教案.pdf VIP
- 大数据环境下网络安全问题探讨.doc VIP
- 论司法确认程序审查规则检视与优化.docx VIP
- 2022年中国社会科学院法律史考博真题、考博参考书,考博资料,难度分析.pdf VIP
- 大数据背景下网络信息安全问题的研究.doc VIP
- 《绘本赏析与阅读指导》学前教育专业全套教学课件.pptx
- 说明成果讲稿eda官方starrc user guide.pdf
- 23S519 小型排水构筑物.pdf VIP
- 2026四川成都经开建工集团有限公司招聘项目制工作人员6人备考题库附参考答案详解ab卷.docx VIP
- 物理化学--华东理工大学(19)--《物理化学》(下)考试试卷及答案(A).pdf VIP
原创力文档

文档评论(0)