问题求及解与程序设计竞赛.pptx

  1. 1、本文档共30页,可阅读全部内容。
  2. 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
  3. 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  4. 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
问题求及解与程序设计竞赛

问题求解与程序设计竞赛;;;;;;程序设计竞赛积极关注/参与者: 以竞赛为目的的,挑战你的智力极限,这类题目按难度分为以下多个级别 (下面的分类是比较公认的): ☆送分题:这在省内比赛出现,是为了不至于剃光头而设置的。 ☆☆非常容易题:需要简单的算法、优化等。 ★容易题:国际/国内正式比赛的起步题目 。这类题目:(1)如果读了题目就有思路,那么实现肯定要有一定的编程技巧;(2)或者题目迷人眼,分析之后发现能比较方便地实现。 ★★普通题: (1)需要花点时间才能找到切入点;(2)实现需要一定的编程方法或算法分析;(3)可能还要考虑较好的优化。 ★★★稍难题:(1)分析很花时间和精力;(2)实现时讲究算法;(3)优化非常重要 。 ★★★★难题:(1)题目变态;(2)可能需要很好的数学基础;(3)算法和优化不必说了;(4)头脑要保持清醒状态 。 ★★★★★极难题:(1)变态+变态;(2)还是变态。;;2 算法设计基本方法简介 1.列举法 列举法的基本思想是,根据提出的问题,列举所有可能的情况,并用问题中给定的条件检验哪些是需要的,哪些是不需要的。 ;2.枚举归纳法 枚举归纳法的基本思想是,通过列举足够多(但不是全部)的特殊情况,发现其中的一些规律,经过分析,最后找出一般的关系。 ;3.递推 递推是指从已知的初始条件出发,逐次推出所要求的各中间结果和最后结果。 ;4.递归 这种将问题逐层分解的过程,实际上并没有对问题进行求解,而只是当解决了最后那些最简单的问题后,再沿着原来分解的逆过程逐步进行综合,这就是递归的基本思想。 由此可以看出,递归的基础也是归纳。 ;递归分为直接递归与间接递归两种。如果一个算法P直接调用自己则称为直接递归。 如果算法P调用另一个算法Q,而算法Q又调用算法P,则称为间接递归调用。;5.减半递推技术 “减半”是指将问题的规模减半,而问题的性质不变。 “递推”是指重复“减半”的过程。 6.回溯法;Proc Backtracking(succ : Boolean) 确定起始状态值走第一步 确定下一步还有几种可能 选一可能走下一步,记住可能和本步特征 做完新一步应做的事 While 目标未达到 do 确定下一步有几种可能 While 没有可能and 还有上一步 do 回退上一步 查有无下一可能 Enddo If 上一步没有了Then return (SUCC=FALSE) EndIf 选一可能走的一步,记住可能和本步特征 做完新一步应做的事 Enddo return (SUCC=TRUE) End Backtracking;竞赛常见题目和算法;各题算法说明2;;;; 使用阵列来储存数值,关于数值在运算时的加减乘除等各种运算、位数的进位或借位就必须自行定义,加、减、乘都是由低位数开始运算,而除法则是由高位数开始运算。;void add(int *a, int *b, int *c) { int i, carry = 0; ? for(i = N - 1; i = 0; i--) { c[i] = a[i] + b[i] + carry; if(c[i] 10000) carry = 0; else { // 进位 c[i] = c[i] - 10000; carry = 1; } } } ? void sub(int *a, int *b, int *c) { int i, borrow = 0; for(i = N - 1; i = 0; i--) { c[i] = a[i] - b[i] - borrow; if(c[i] = 0) borrow = 0; else { // 借位 c[i] = c[i] + 10000; borrow = 1; } } } ;;;;;;;

文档评论(0)

ctuorn0371 + 关注
实名认证
内容提供者

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

1亿VIP精品文档

相关文档