- 1、本文档共14页,可阅读全部内容。
- 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
- 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
- 5、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
- 6、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们。
- 7、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
- 8、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
2008年noip题目讨论
北京12中庄燕文 * * 2008年noip 提高组试题讨论 1、 笨小猴(word) 题意简述:给出一个单词,统计其中出现最多的字母出现的次数maxn,以及出现最少的字母的次数minn,如果maxn-minn是质数的话则作为一个Lucky Word..否则即为No Answer. 参考程序 【解题分析】 1、读入字符串(文件) 2、构造一个数组,记录a-z各字符出现的次数。枚举字符串中每个字符,将该字符对应数组元素加一。 3、枚举数组中a-z,找出最大值和非零最小值,求出它们的差。 4、判断差值是否为素数,数据规模很小,可用试除法。注意0,1的特殊情况。 5、输出,注意大小写、换行符。 ? 第二题 matches 题意简述: 给你n(n=24)根火柴棒,叫你拼出 A + B = C这样的等式,求方案数. 参考程序 【题目类型】搜索 【建议编程时间】30分钟。若某些问题未考虑到,调试20分钟。 【解题分析】 1、? 读入整数n,减去加号和等号需要的4根火柴。 2、? 采用搜索方法,先递归枚举火柴拆分成每个数字对应根数(存在数组里),再枚举加号和等号的位置,计算对应的A,B,C,最后判断A+B=C,统计总数。 3、? 输出tot,注意换行。 【编程注意】 1、? 注意最高位不能为零,即除非该数为零,最高位不为零。 2、? 递归函数两个入口,表示当前剩余火柴根数、当前位数。枚举下一根火柴的数字,记录,递归(剩余-当前火柴,位数+1)。 3、? 当剩余根数为零时,枚举A,B,C的拆分方式。 4、? 计算A时,先将A设为首位,若首位为零且位数大于1,则失败退出(最高位不为零)从首位+1到末位:A*=10, A+=a[i]. 字符串转为整数的常用方法。 5、? 注意个数为0时的特殊处理。 第三题 message 题意简述: 给一个矩阵(左上角和右下角固定为0),从左上角走两次到右下角,两次走的路径不能有交集(即一个点不能被走两次),求两次走过的格子上的数的和最大是多少.(类似二取方格数.) 解题思路: 二取方格数很经典的题目了,于是便直接以 f[i][j][k][p] 表示第一条路径走到(i,j),第二条路径走到(k,p)所取到的数的最大值..转移方程就很好办了..同时注意判断两条路不要从同一个点转移过来就好了. 参考程序 双栈排序(twostack) i???????? 贪心的错误 这道题拿到手,很容易想到贪心。但我们可以举一反例证明: 2 5 1 4 6 3 按照贪心策略这个序列不是双栈排序序列。但事实上这个序列是双栈排序序列。 问题出在4入栈时,按照贪心策略4将进入s1,但这样导致了6无法入栈。为了让其成为双栈排序序列,我们让4进入s2。 ii?????? 在过程中调整贪心 由上面的例子可知,当我们遇到一个数无法进入队列时,我们要考虑两种情况:其一是这个序列不是双栈排序序列;另外一种是前面贪心策略有误。 现在,我们要解决的问题就是如何判断前面贪心策略有误,有误的话怎样修正。 1调整是单向的 需要调整说明栈s1、s2的栈头元素都小于要入栈的数。只有将一个栈的末尾移至另一栈末尾,才可能使要入栈的数得以进入。 2调整是从s1向s2的 所有元素入栈的第一选择便是进入s1,只有进入不了s1的才会进入s2。s1中的元素相对在它后进栈的s2元素来说较小 3出栈元素不用考虑 4无法调整则说明这个序列不是双栈排序序列 【题目类型】双线程动态规划 【建议编程时间】40分钟。这里的编程时间包括调试时间。 【空间复杂度】约27M,全局变量完全可承受。50*50*50*50*sizeof(int)=2.5*10^7. 【解题分析】 1、? 读入矩阵,注意行列。 2、? 采用一个四维数组记录当前两条路走到的位置(i1,j1,i2,j2)时取得的最大值,初始化为0,表示不可能到达。(0,0,0,0)为1,最后减1输出。 3、? 一个四重循环枚举两条路分别走到的位置。由于每个点均从上或左继承而来,故内部有四个if,分别表示两个点从上上、上左、左上、左左继承来时,加上当前两个点所取得的最大值。例如,f[i][j][k][l] = max{f[i][j][k][l], f[i-1][j][k-1][l] + a[i][j] + a[k][l]},表示两点均从上面位置走来。 4、? 输出右下角处的最大值f[m][n][m][n],注意换行。 【编程注意】 1、? 在数组边界处特殊处理,避免数组越界。 2、? 若待继承的点最大值为零,则停止判断,不能从这里走来。 3、? 显然,非矩阵右下角的汇合点,两个位置不能重合(否则路径相交),若重合则最大值为0,不可达。 ? ? 参考程序 4.双栈排序 【问题描述】 通过两个栈S1,S2,将一个给定的输入序列升序排列。定义a操
您可能关注的文档
- !水资源总量控制政策将密集出台 监测设备公司受益 先河环保 11-03-26.doc
- (9月17日家庭作业)反比例函数练习卷.doc
- (人教PEP)小学英语毕业模拟试题.doc
- (人教版新目标)英语必修五 Unit 2 The United Kingdom.doc
- (兽医临床)一例肾衰猫的死亡分析.doc
- (原创学案 高中物理 必修一 科教版 人教版 适用) 第1节 质点 参考系 空间 时间.doc
- (建筑)国际城图纸会审回复.doc
- (5-2)钢的热处理.ppt
- (新修)涉及既有线施工安全及管理实施细则.doc
- (新编容器)--用户培训资料20110830.ppt
- 人教版语文八年级下册第27课《岳阳楼记》课件.ppt
- 第五单元 家族的记忆 单元双基测验1(人教版选修《中国小说欣赏》).doc
- Unit5SectionB(1a-2b)课件人教版英语七年级下册.pptx
- 北京四中高考政治二轮复习资源专题7国际社会与对外政策(学生版).doc
- 广西桂林市2021届高三上学期第一次联合调研考试文科综合历史试题含答案.docx
- 小学生安全急救科普知识(1).pptx
- 六年级数学下册第6单元整理和复习3统计与概率第1课时统计1课件新人教版2.ppt
- 第10讲《水浒传》整本书阅读(原卷版).docx
- (小升初分班考)2026年六年级下册数学小升初重点校分班考押题卷(苏教版)(含答案与解析).docx
- 七年级下册数学人教版(2025)期末四步复习法-(5)不等式与不等式组(含答案).pdf
文档评论(0)