42008noip分析.pptVIP

  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文档。上传文档
查看更多
42008noip分析

2008年 分区联赛复赛分析 联赛的知识面更为广泛,对选手综合素质的考核要求更为凸显,难度和分数的阶梯层次更趋科学合理,对信息学活动的推动力和社会公信力更为增强。 1、题型分布 去年全国奥林匹克信息学复赛中含许多可“一题多解” 的试题,但如果按照较优算法标准分类的话,大致可分为五类: 2、难度趋于合理 “抬高门槛”——没有可直译编程的基础题,最简单的为模拟题: 初中ISBN号码:计算数和的模+字符串处理 高中笨小猴:统计字母频率,判断素数 “减少偏题”——去年初中组和高中组分别有一道较难的构造题: 初中组:立体图 高中组:双栈排序 难度恰倒好处,既拉开了学生的层次水平,又未出现“全军覆没”的尴尬局面。 。 3、提高了对选手综合素质的考核要求 设置了枚举类(1道)、贪心类(1道)、模拟类(2道)、构造类(2道)和动态规划类(2道)试题,没有可直接套用经典算法的简单题,考验了选手的数学建模能力和创新意识,凸显了信息学与数学整和的教改趋势。 4、分数的阶梯层次趋于科学 只懂语言、不懂数据结构和算法的选手拿低分(100-200分); 虽懂编程知识但缺乏数学思维和创新意识的选手拿中等分(200-300分); 综合素质强的选手拿高分(300-400分)。 一、模拟类试题 模拟形式 ⑴随机模拟 题目给定或者隐含某一概率。设计者利用随机函数和取整函数设定某一范围的随机值,将符合概率的随机值作为参数。然后根据这一模拟的数学模型展开算法设计。由于解题过程借助了计算机的伪随机数发生数,其随机的意义要比实际问题中真实的随机变量稍差一些,因此模拟效果有不确定的因素; ⑵过程模拟 题目不给出概率,要求编程者按照题意设计数学模型的各种参数,观察变更这些参数所引起过程状态的变化,由此展开算法设计。模拟效果完全取决于过程模拟的真实性和算法的正确性,不含任何不确定因素。由于过程模拟的结果无二义性,因此竞赛大都采用过程模拟。 模拟法的类型 直叙式模拟 直叙式模拟即按照试题要求展开模拟过程。编程者要忠实于原题,认真审题,千万不要疏漏任何条件,精心设计方便模拟的数据结构。“直叙式模拟”的难度取决于模拟对象所包含的动态变化的属性有多少,动态属性愈多,则难度愈大。 ISBN号码 【问题描述】每一本正式出版的图书都有一个ISBN号码与之对应,ISBN码包括9位数字、1位识别码和3位分隔符,其规定格式如“x-xxx-xxxxx-x”,其中符号“-”就是分隔符(键盘上的减号),最后一位是识别码,例如0-670-82162-4就是一个标准的ISBN码。ISBN码的首位数字表示书籍的出版语言,例如0代表英语;第一个分隔符“-”之后的三位数字代表出版社,例如670代表维京出版社;第二个分隔符后的五位数字代表该书在该出版社的编号;最后一位为识别码。识别码的计算方法:首位数字乘以1加上次位数字乘以2……以此类推,用所得的结果mod 11,所得的余数即为识别码,如果余数为10,则识别码为大写字母X。例如ISBN号码0-670-82162-4中的识别码4是这样得到的:对067082162这9个数字,从左至右,分别乘以1,2,...,9,再求和,即0×1+6×2+……+2×9=158,然后取158 mod 11的结果4作为识别码。 你的任务是编写程序判断输入的ISBN号码中识别码是否正确,如果正确,则仅输出“Right”;如果错误,则输出你认为是正确的ISBN号码。 【输入】输入文件Isbn.in只有一行,是一个字符序列,表示一本书的ISBN号码(保证输入符合ISBN号码的格式要求)。 【输出】输出文件Isbn.out共一行,假如输入的ISBN号码的识别码正确,那么输出“Right”,否则,按照规定的格式,输出正确的ISBN号码(包括分隔符“-”)。 直接模拟 1、先去除分隔符(12位、6位、2位的‘-’),得到长度为9的识别码s(为什么倒序); 2、计算识别码的正确值 tmp= 3、检查ISBN码中最后一位识别码(X代表10):若与tmp相同,则输出成功信息;否则输出识别码的正确值tmp。 var s,t:string;{ ISBN码为t,去除分隔符后的ISBN码为s} i,tmp,l:longint; begin assign(input,isbn.in);reset(input);{输入文件读准备} assign(output,isbn.out);rewrite(output);{输出文件写准备} readln(s); t:=s;{读ISBN码} delete(s,12,1);delete(s,6,1);delete(s,2,1);{去除分隔符} tmp:=0;{计算前9位数字的识别码}

文档评论(0)

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

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

1亿VIP精品文档

相关文档