- 1、本文档共133页,可阅读全部内容。
- 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
- 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
搜索~43523
NOI’2010教师培训;搜索专题;教学设计;1、审题能力;;什么是搜索?;枚举 ;适用枚举法求解的问题必须满足两个条件:?????? ⑴可预先确定每个状态的元素个数n;
⑵状态元素a1,a2,…,an的可能值为一个连续的值域。
设
ai1—状态元素ai的最小值;aik—状态元素ai的最大值(1≤i≤n),即a11≤a1≤a1k,a21≤a2≤a2k, ai1≤ai≤aik,……,an1≤an≤ank
for a1←a11 to a1k do
fo a2←a21 to a2k do ……………………
for ai←ai1 to aik do ……………………
for an←an1 to ank do
if 状态(a1,…,ai,…,an)满足检验条件
then 输出问题的解;
;;问题:八皇后;1.人工模拟完成问题;2.状态描述;3.搜索策略DFS程序框架;深度优先搜索DFS框架;问题1:迷宫(maze);1.状态空间及描述;2.搜索策略DFS程序框架;【问题描述】
N+Q是班长。在校运动会上,N+Q班要进行队列表演。N+Q要选出2*N名同学编队,每人都被编上一个号,每一个从1到N的自然数都被某2名同学佩戴,现在要求将他们排成一列,使两个编号为1的同学中间恰好夹1名同学,两个编号为2的同学中间恰好夹2名同学,……,两个编号为N的同学中间恰好夹N名同学,N+Q希望知道这样的排法能否实现。
【输入文件】
输入文件仅包括一行,即要处理的N。
【输出文件】
输出文件有两种情况,如果这样的排法能实现,则输出排列顺序;如果这样的排法不能实现,则输出“No Solution.”。格式如样例所示。;问题简述
给出一个数N。然后将1至N这N个数每个数字使用两次来构造序列,使序列中数字为i的两项中间恰好有i个数,求满足该条件的序列。 ;1.状态空间及描述;;
因些直观分析倒序搜索能够更快得到解.
试验不同的搜索序程序得到解的效率.
结论:对搜索问题的解决,搜索序的选择将影响得到问题的解的效率.;3.程序框架;4.无解判断;主程序;【问题描述】
在Q迷的千呼万唤之下,N+Q终于推出了新专辑《My Cow Life》.其中一首《God is a cow》更是天籁之音,令Q迷们为之倾倒。可是,让Q迷们不爽的是,这张专辑是限量发行的,并且价格…….许多Q迷们在音像店前排起了长队,想要买到一张CD或者磁带。SGaPb小店的店长SGaPb是个热心人。他看到这么多Q迷想要买专辑,就设计了一个小游戏——抽奖。
规则是这样的:每位Q迷可以抽到一张奖券。奖券上写有1到M这M个自然数。Q迷可以在这M个数中任意选取N个不同的数打圈。每个Q迷只能买一张奖券,不同的奖券上的选择不同。每次抽奖将抽出两个自然数X和Y。如果某人拿到的奖券上,所选N个自然数的倒数和,恰好等于X/Y,则他将免费获得一张CD《My Cow Life》。 现在,已知抽奖结果X和Y。作为N+Q的fans,你的任务是:求出必须准备多少CD,才能保证支付所有获奖者。且对于同一种选数, SGaPb只用支付一盘CD。;问题简述
求在M个数中取N个数,它们的倒数和为X/Y的组数。 ;算法分析;初步框架:
Procedure DFS(T,Total:Longint;Sum:TIndex);{T代表数,TOTAL代表SUM中加入了多少数,SUM代表倒数和}
Begin
If Total=N Then //选出了n个数
Begin //当倒数和与x/y的误差小于一定值,找到一个解。
If Abs(Sum-Final)=Seed Then Inc(Ans);
Exit;//退出当前层递归
End;
For I:=T+1 to M do出 //继续选下一个数
DFS(I,Total+1,Sum+S[I]);
End;
;2、剪枝处理
(1)搜索的起始值要比上一层搜索的起始值要大,这样既可以减少运行的时间,又可以避免重复解;
(2)可行性剪枝
在每一次搜索前,如果当前搜索到数的倒数和+接下去要搜索的所有数倒数和小于X/Y,那就没有可能得出 一个解。我们可以中止它;
如果当前枚举值的倒数加上+上一层的和大于X/Y,也可以掐掉。
结论:
可行性剪枝是常用的一种剪枝手法 ;REMARK;程序框架;问题4 AP数
【问题描述】
正整数
文档评论(0)