NOI导刊___枚举与搜索.pdfVIP

  1. 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
  2. 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  3. 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
  4. 4、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
  5. 5、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们
  6. 6、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
  7. 7、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
NOI导刊___枚举与搜索

枚举与搜索讲稿 长沙市雅礼中学 朱全民 有关搜索的NOIP试题 •神经网络(2003)宽搜 •侦探推理(2003)枚举与优化 •传染病控制(2003)深搜与优化 •虫食算(2004)深搜与优化 •火柴棒等式(2008)简单枚举 •双栈排序(2008)二分图的搜索 •靶形数独(2009)深搜与优化 简单枚举法 所谓枚举,即对可能的解集合一一列举。 解题思路为: • 首先确定可能的解集合 • 抽象出解包含的参数,确定每个参数的数 据范围 • 对解的每个参数的数据范围采用循环语句 一一枚举 • 对每次枚举,根据题意给定的条件判定是 否解,是否是最优解。 火柴棒等式 • 给你n根火柴棍,你可以拼出多少个形如“A+B=C” 的等式? 等式中的A 、B、C是用火柴棍拼出的整数(若该数非零, 则最高位不能是0)。用火柴棍拼数字0-9的拼法如图所示: 注意: 1. 加号与等号各自需要两根火柴棍 2. 如果A≠B ,则A+B=C与B+A=C视为不同的等式(A 、B、 C=0) 3. n根火柴棍必须全部用上 分析 • 0~9的数字所用的火柴数:6,2,5,5,4,5,6,3,7,6 • 对于N=24,去掉+,=,实际上数字只有20根火 柴。 • 首先考虑解集合,因为最多为20根火柴组成数字: 1. 不可能为10个1; 2. 不可能8个1,1个4 ; 3. 不可能为7个1,2个7或1个0; 4. ….. 5. C不会超过1000 枚举答案 • 设F(I)表示数为I时的火柴棍数 FOR A=0 TO 1000 DO IF F(A)N-4 THEN FOR B=1000-A DO IF F(A)+F(B)+F(A+B)=N-4 THEN 输出; 侦探推理 证词中出现的其他话,都不列入逻辑推理的内容。 明明所知道的是,他的同学中有N个人始终说假话,其余的 人始终说真话。 现在,明明需要你帮助他从他同学的话中推断出谁是真正 的凶手,请记住,凶手只有一个! 要求: 判断谁是罪犯? 分析 • 这道题的关键点是 “如何能够快速正确实现出来” ,事 实上这道题对编码能力的要求要大于对算法本身的要求。 由于这道题的数据范围并不是很大,但需要进行“字符串 处理”这种比较麻烦的工作,因此在比赛时就可以采用效 率低一些的枚举算法来换取编码上的简单。 推荐的算法分为两步: 1.预处理每个人的每一句话,并把它们分类处理; 2.枚举罪犯和当前星期几,找出所有可能发生的情况。 下面我们来逐步细化一下每一步的算法,对于第一步,我们 希望的是把一些杂乱的不好处理的 “字符串信息”转化为 相对比较好处理的信息。为此,我们可以通过把 “信息” 进行分类的方法使得对于每一类信息,更加方便的处理 (即我们可以用一个或者几个变量来表示),由题目描述 可以发现语句可分为三类: 分析 1.指明i是否是罪犯的语句; 2.指明今天是星期d的语句; 3.没有意义的语句(不符合格式要求)。 • 我们必须要说明的是任何不符合格式要求的语句都将被划 分到第三类中去,这样在处理每个语句的时候就必须要考 虑该语句是否符合格式要求,通过以上的处理,我们对于 每一个语句用几个变量就可以表示了。 • 对于第二步的细化,我们在枚举完罪犯和当前星期几之后, 就可以比较方便的判断每一句话的真伪了,这样我们再根 据每个人所说的话把人进行分类。 1.没说任何一句有意义的话; 2.只说真话; 3.只说假话; 4.既说真话也说假话。 分析 • 需要注意的是,对于第一类人我们既可以把他当成说真话 的,也可以把他当成说假话的,而如果第四类人存在的话,

文档评论(0)

qiwqpu54 + 关注
实名认证
文档贡献者

该用户很懒,什么也没介绍

1亿VIP精品文档

相关文档