C语言基础强化训练sticks problem.docVIP

  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文档。上传文档
查看更多
C语言基础强化训练sticks problem.doc

附件1: 学 号: 012091068**** 课 程 设 计 (基础强化训练) 题 目 Sticks Problem 学 院 计算机科学与技术 专 业 软件工程 班 级 ****班 姓 名 **** 指导教师 鄢红国 2011 年 7 月 16 日 课程设计任务书 学生姓名: *** 专业班级: 软件工程09 指导教师: 鄢红国 工作单位:计算机科学与技术学院 题 目: Sticks Problem 初始条件: 输入: 输入包含多个测试用例。每个案例包含两行。 第1行:一个整数N(N =50000),说明棒的数量。 第2行:n个不同的正整数(不超过100000),按顺序表示每根棒的长度。 Shūrù bāohán duō gè cèshì yònglì. Měi gè ànlì bāohán liǎng xíng. Dì 1 xíng: Yīgè zhěngshù N(N =50000), shuōmíng bàng de shùliàng. Dì 2 xíng:N gè bùtóng de zhèng zhěngshù (bù chāoguò 100000), zhè biǎomíng, yǐ měi bàng de chángdù. 字典 输出的最大值J - I在一个单一的线。如果没有这样的i和j,只输出-1。 要求完成的主要任务: (包括课程设计工作量及其技术要求,以及说明书撰写等具体要求) 1、完成算法分析 2、给出对应的程序流程图 3、给出能正确实现的程序源码 5、给出试算截屏图 6、课程设计工作的分析与总结 7、给出不少于5篇参考文献。 时间安排: 2011-7-12到2011-7-16 指导教师签名: 年 月 日 系主任(或责任教师)签名: 年 月 日 目录 1.注册资料……………………………………………………………….4 2.选题描述……………………………………………………………….4 3.算法分析……………………………………………………………….5 3.1暴力破解法……………………………………………………….5 3.2RMQ模拟ST算法…………………………………………….....6 4.程序流程图…………………………………………………………….7 4.1暴力破解法流程图………………………………………………7 4.2RMQ模拟ST算法流程图………………………………………9 5.程序源码……………………………………………………………...10 5.1暴力破解法源代码……………………………………………..10 5.2RMQ模拟ST算法源代码………………………………………11 6.试算截屏图…………………………………………………………...12 7.分析与总结…………………………………………………………...13 8.参考文献……………………………………………………………...14 1 注册资料 用户名:xixiaoxi 密码:xixiaoxi 选题题号:2452 2 选题描述 说明 轩轩有n个不同长度的棍子。有一天,她把她的棍子排在一行,分别用S1,S2,S3,...Sn表示。测量后,每棒Sk的长度(1= k=n),她发现,一些棍子Si和Sj(1= ij= n),Si与Sj之间的每棒均比Si长但较短的比Sj。 现在的长度S1,S2,S3,...Sn,您需要找到最大值j- i. 输入 输入包含多个测试用例。每个案例包含两行。 第1行:一个整数n(n=50000),说明棒的数量。 第2行:n个不同的正整数(不超过100000),这表明,以每棒的长度。 输出 输出的最大值j- i在一行。如果没有这样的i和j,只输出-1。 样例输入 4 5 4 36 4 6 5 4 3 输出范例 1 -1 3 算法分析 3.1暴力破解法 3.1.1解题思路分析 暴力破解法首先需要遍历数组,按顺序选择出Si和Sj,通过分别比较Si和Sj之间的棍子长度判断是否符合SiSkSj,若均符合要求,计算Si和Sj之间的棍子个数,并与之前个数的最大值进行比较得出最后满足要求的最大值。 3.1.2程序的输入分析 题目中要求能够进行多个测试用例,所以选择while循环进行输入。 while((scanf(%d,N))!=EOF) { a=new int[N]; for(i=0;iN;i++) cin*(a+i

文档评论(0)

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

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

1亿VIP精品文档

相关文档