ACM-解题的一般步骤.ppt

  1. 1、本文档共47页,可阅读全部内容。
  2. 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
  3. 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  4. 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
ACM竞赛宣讲会 陈研 数计学院团委学生会主办 内容概要 介绍ACM/ICPC及其赛制 如何加入ACM队 ACM竞赛涉及的知识 如何准备 首届福州大学程序设计竞赛试题讲解 Question Answer 国际大学生程序设计竞赛 ACM International Collegiate Programming Contest (ACM/ICPC) Sponsored by IBM (ATT, Microsoft, etc) Regional Contest 每年10,11,12月 World Finals 次年3月底到4月初 Regional Contest Asia Regional Beijing, Bombay, Dhaka, Ehime, Kanpur-Kolkata, Manila, Seoul, Zhejiang, Sichuang, Taipei, Tehran 下半年国内有3个赛区 Beijing 北京大学 Zhejiang 浙江大学 Sichuang 四川大学 Regional 竞赛内容(1) 参赛资格 在读本科生,研一学生 专业不限 鼓励女选手参加比赛 一个选手至多参加4年预选赛 人员组成 3个人组成一个队 如果一个队伍有2个以上的女生,则为女队 (部分赛区要求3个都是女生)设“最佳女队”奖 Regional 竞赛内容(2) 比赛形式 1支队伍1台机器(提供打印服务) 上机编程解决问题(可带纸质资料) 实时测试,动态排名 试题 6-10题 全英文(可以带字典) 时间:持续5个小时 Sample Problem Task: Calculate a+b Input: Read from sum.in a series of pairs of integers a and b, separated by a space, one pair of integers per line. Output: For each pair print the sum of a and b one per line to the screen. Sample Solution #include iostream #include fstream using namespace std; int main() { int a,b; ifstream fin(“sum.in”); while (finab) couta+bendl; return 0; } 评测方法 对程序的要求 程序执行所需要的时间要短 (Time Complexity) 程序执行所使用的内存要少 (Space Complexity) 结果(Output)要完全正确 ACM .vs. 校程序设计竞赛 ACM竞赛 团队合作精神 即时提交,通过所有数据才能得分 全英文题目,题目考察范围广 校程序设计竞赛 个人编程能力的比拼 赛后提交,可得部分分数 中文题目,考察编程基本功 福州大学ACM队选拔过程 ACM队队员的基本原则 基本要求 人品好 愿意花时间在这项赛事上 有团队合作精神 能力要求 程序设计 英语科技文献阅读 数学 相关的知识 数学知识 离散、组合 数论、图论 计算几何 算法数据结构 基本数据结构 搜索、分治 动态规划 贪心…… How to practice? Online Judge Online Contest 3月20日 网上热身赛 13:00-21:00 首届福州大学程序设计竞赛试题讲解 解题的一般步骤 理解题意,建立数学模型 设计模型在计算机中表示的方法(数据结构) 设计解决该问题的算法 分析算法的时空效率 编程实现 测试程序的正确性和效率 小结 飞船赛 N个飞船在直线跑道上比赛。每个飞船的起跑位置均不相同。第i个飞船从起跑线右边Xi (Xi106)处开始向右行驶。比赛开始后,它能在零时间内加速到最大速度Vi (Vi100)并永远保持此速度。比赛没有终点,即会永远进行下去。求比赛过程中发生几次超车。 数学模型 题目给了哪些数据? N个有序对(Xi,Vi) 如何定义超车? i车将超过j车,当且仅当 XiXj且ViVj 模型:求序列的逆序对数。 注意题目的数据范围!why? 数据结构 原则:选择的数据结构应能够高效的处理题目中涉及的基本运算。 基本运算:判断超车。 数据结构:将(Xi,Vi)存入数组中,即可根据超车的定义,直接求出答案。 由于超车的判断只涉及Xi的大小关系,与具体取值无关,因此Xi可以不必存储,而用数组的下标代替Xi。 int v[n]; 算法 int v[n]; int count=0; for (i = 0; i n; i++) for (j = i+1; j n; j++)

文档评论(0)

好文精选 + 关注
实名认证
内容提供者

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

1亿VIP精品文档

相关文档