ACM竞赛简介
ACM介绍1

竞赛过程
• 读题 • 建模 • 数据结构与算法选择 • 语言实现 • 提交 • 结果返回
常用术语
ICPC (International Collegiate Programming Contest) 国际大学生程序设计竞赛 AC (Accepted) 程序通过 WA (Wrong Answer) 错误的答案 (读做 “哇”)
例:C输入输出字符串
读写字符串(串以空格、回车分隔) #include <stdio.h> int main (){ char a[100]; while ( scanf("%s",a) == 1) printf ( "%s\n",a); return 0; }
例:C输入输出字符串(续)
读写字符串(串中有空格,串以回车分隔) #include <stdio.h> int main (){ char a[100]; while ( gets (a) ) printf ( "%s\n",a); return 0; }
A+B problem(文件输入输出)
C++的标准输出流
标准输出流对象cout
字符、整数、实数、字符串等的输出都用cout
cout << 需要输出的数据 cout.write() //按照指定长度输出字符串 cout.put() //输出一个字符
输出格式控制
C++的标准输入流
标准输入流对象cin 字符、整数、实数、字符串等的输入都用 cin cin >> 变量名 cin.get() cin.getline()
}
return 0;//返回0
ACM国际大学生程序设计竞赛简介

1.ACM国际大学生程序设计竞赛简介1)背景与历史1970年在美国TexasA&M大学举办了首次区域竞赛,从而拉开了国际大学生程序设计竞赛的序幕。
1977年,该项竞赛被分为两个级别:区域赛和总决赛,这便是现代ACM竞赛的开始。
在亚洲、美国、欧洲、太平洋地区均设有区域赛点。
1995至1996年,来自世界各地的一千多支s代表队参加了ACM区域竞赛。
ACM大学生程序设计竞赛由美国计算机协会(ACM)举办,旨在向全世界的大学生提供一个展示和锻炼其解决问题和运用计算机能力的机会,现已成为全世界范围内历史最悠久、规模最大的大学生程序设计竞赛。
2)竞赛组织竞赛在由各高等院校派出的3人一组的队伍间进行,分两个级别。
参赛队应首先参加每年9月至11月在世界各地举行的“区域竞赛(Regional Contest)”。
各区域竞赛得分最高的队伍自动进入第二年3月在美国举行的“总决赛(Final Contest)”,其它的高分队伍也有可能被邀请参加决赛。
每个学校有一名教师主管队伍,称为“领队”(faculty advisor),他负责选手的资格认定并指定或自己担任该队的教练(coach)。
每支队伍最多由三名选手(contestant)组成,每个选手必须是正在主管学校攻读学位的学生。
每支队伍最多允许有一名选手具有学士学位,已经参加两次决赛的选手不得再参加区域竞赛。
3)竞赛形式与评分办法竞赛进行5个小时,一般有6~8道试题,由同队的三名选手使用同一台计算机协作完成。
当解决了一道试题之后,将其提交给评委,由评委判断其是否正确。
若提交的程序运行不正确,则该程序将被退回给参赛队,参赛队可以进行修改后再一次提交该问题。
程序运行不正确是指出现以下4种情况之一:(1)运行出错(run-time error);(2)运行超时〔time-limit exceeded〕;(3)运行结果错误(wrong answer);(4)运行结果输出格式错误(presentation error)。
ACM-ICPC简介和参赛规则

ACM/ICPC(ACM International Collegiate Programming Contest, 国际大学生程序设计竞赛)是由国际计算机界历史悠久、颇具权威性的组织ACM(Association for Computing Machinery,国际计算机协会)主办的,世界上公认的规模最大、水平最高的国际大学生程序设计竞赛。
1.ACM-ICPC的历史及其影响ACM/ICPC从1970年开始,已经举办了30多届,其目的旨在使大学生运用计算机来充分展示自己分析问题和解决问题的能力。
该竞赛一直受到国际各知名大学的重视,并受到全世界各著名计算机公司的高度关注。
可以说,ACM国际大学生程序设计竞赛已成为世界各国大学生最具影响力的国际级计算机类的赛事。
2.ACM-ICPC的比赛形式和内容ACM/ICPC采用组队参赛的形式,由三名队员组成一支队伍参赛。
比赛时三名队员只使用一台电脑,整个比赛时间为5个小时。
比赛题目为6~10道不等,全英文。
标准的程序数据输入和输出解答要求。
选手们必须根据题目内容设计算法,并完成相应的功能要求。
该队程序如果能在规定时间内得出正确的答案视为通过。
队伍通过的题目数量多的在比赛中排名越高,题目数相同的则用时越少的排名越高。
3.竞赛内容竞赛涵盖的范围很广,大致划分如下:Direct(简单题),Computational Geometry(计算几何),Number Theory(数论),Combinatorics (组合数学),Search Techniques(搜索技术),Dynamic Programming(动态规划),Graph Theory(图论),Other(其他)可使用的计算机语言:C语言、C++,JAVA竞赛规则参赛队组成1. 教练是参加队伍所代表学校认定的正式教师,教练必须保证所有队员符合本规则的规定。
教练作为参赛队伍代表,负责竞赛活动中的联系工作。
2. 只有当赛区组委会从教练处获得所有保证队伍合格的资料后,一支队伍才能获得参赛的资格。
ACM培训资料

ACM培训资料目录第一篇入门篇 (3)第1章新手入门 (5)1ACM国际大学生程序设计竞赛简介 (5)2ACM竞赛需要的知识 (8)3团队配合 (14)4练习、练习、再练习 (15)5对新手的一些建议 (16)第2章C++语言介绍 (22)1C++简介 (22)2变量 (23)3C++数据类型 (25)4C++操作符 (30)5数组 (35)6字符数组 (38)7字串操作函数 (41)8过程控制 (45)9C++中的函数 (54)10函数规则 (59)第3章STL简介 (61)1泛型程序设计 (61)2STL 的组成 (67)第二篇算法篇 (102)第1章基本算法 (103)1算法初步 (103)2分治算法 (115)3搜索算法 (124)4贪婪算法 (135)第2章进阶算法 (165)1数论基础 (165)2图论算法 (180)3计算几何基础 (222)第三篇实践篇 (246)第1章《多边形》 (247)第2章《灌溉问题》 (255)第3章《L GAME》 (263)第4章《NUMBER》解题报告 (271)第5章《J OBS》解题报告 (275)第6章《包裹运送》 (283)第7章《桶的摆放》 (290)第一篇入门篇练就坚实的基础,总有一天……我们可以草木皆兵!第1章新手入门1ACM国际大学生程序设计竞赛简介1.1背景与历史1970年在美国TexasA&M大学举办了首次区域竞赛,从而拉开了国际大学生程序设计竞赛的序幕。
1977年,该项竞赛被分为两个级别,即区域赛和总决赛,这便是现代ACM竞赛的开始。
在亚洲、美国、欧洲、太平洋地区均设有区域赛点。
1995至1996年,来自世界各地的一千多支高校的代表队参加了ACM区域竞赛。
ACM 大学生程序设计竞赛由美国计算机协会(ACM)举办,旨在向全世界的大学生提供一个展示和锻炼其解决问题和运用计算机能力的机会,现已成为全世界范围内历史最悠久、规模最大的大学生程序设计竞赛。
ACM竞赛简介

SEU ACM/ICPC TEAM
14 2020/10/23
ACM/ICPC比赛形式
– 3人组队,相互合作。 – 1支队伍1台ubuntu机器(提供网络打印服
二、小提示
使用windows操作系统, long long需要用%I64d输出,而linux系 统使用%lld输出
Windows和linux操作系统不同,请同学 们格外小心。
Printf和cout不要混用,输出会出错。
调试的sample input的拷贝
SEU ACM/ICPC TEAM
SEU ACM/ICPC TEAM
18 2020/10/23
ACM队队员的基本原则
基本要求
– 人品好 – 愿意花时间在这项赛事上 – 有团队合作精神
能力要求
– 程序设计(C++/Java/数据结构/算法) – 英语科技文献阅读
– 数学
SEU ACM/ICPC TEAM
19 2020/10/23
… 2012年:天津理工、浙江师范、浙江理工 东北师范、成都东软 2013年:南京理工…
SEU ACM/ICPC TEAM
6 2020/10/23
SEU ACM/ICPC TEAM
7 2020/10/23
ACM in SEU
东南大学自05年开始正式参加ACM Regional赛区
05年北京赛区 三等奖 06年西安赛区 铜奖 07年南京赛区 银奖 07年吉林赛区 铜奖 07年成都赛区 银奖
29 2020/10/23
关于ACM-ICPC竞赛

ACM/ICPC简介ACM/ICPC(ACM International Collegiate Programming Contest, 国际大学生程序设计竞赛)是由国际计算机界历史悠久、颇具权威性的组织ACM(Association for ComputingMachinery,国际计算机协会)主办的,世界上公认的规模最大、水平最高的国际大学生程序设计竞赛。
Why to be an ACMer?不功利地说:1. 大学生程序设计的世界级顶级赛事,不参加终身抱憾。
2. 提升思维与实践动手能力,做名副其实的Trouble-shooter。
3. 起点低,有C/C++、JAVA等语言基础知识和一台计算机即可参与学习;周期长,乐趣多,学生互相探讨,有助于营造良好的学术氛围。
功利地说:1. 业界知名的IT公司不约而同地认为有ACM参赛经历的学生(无论有无获奖),优先雇佣。
2. 计算机科学研究生复试上机有相关试题。
3. 赛事多,奖金高,含金量高,可以获得许多荣誉。
如:Google杯、阿里巴巴杯ACM的区域性竞赛;百度之星;各种赛区的选拔赛。
参赛参考资料和网站算法竞赛入门经典UVa OJ, POJ, ZOJ, HOJ, HDOJ 等在线测评系统某北京高校参加程序设计类比赛的年度安排●4月:校内大赛(暨选拔赛)如:阿里巴巴集团杯ACM-ICPC程序设计精英赛●5~7月:百度之星程序设计大赛●暑期:夏令营集中培训●11月:参加ACM/ICPC亚洲区比赛(至少参加4~5个赛区的比赛)●另外:每学期至少有三次月赛以及适当的练习赛2010ACM-ICPC亚洲区预选赛中国大陆5赛区比赛安排2010-09-11哈尔滨赛区(哈尔滨工程大学)网络预赛(哈工程oj:)赛区官网:/icpc/2010-09-12天津赛区(天津大学)网络预赛(杭电oj:)赛区官网:/tj2010/2010-09-18成都赛区(四川大学)网络预赛(川大oj:http://125.64.92.19/)赛区官网:/icpc/2010-09-19杭州赛区(浙江理工大学)网络预赛(杭电oj:)赛区官网:/2010-10-10 福州赛区(福州大学)网络预赛(福大oj:)赛区官网:/acmicpc-2010-fuzhou/Default.aspx2010年9月25-26日哈尔滨赛区现场比赛(哈工程命题)2010年10月16日到17日天津赛区现场比赛(复旦命题)2010年10月23日到24日杭州赛区现场比赛(北大命题)2010年11月6日到7日成都赛区现场比赛(浙大命题)2010年11月19日到21日福州赛区现场比赛(北大命题)一个人网络预赛最多官网注册3次(同一年度)报名方式登录https:///教师注册教练账号,创建队伍参加相应赛区的比赛今年的比赛(36届)尚未开启注册选手注册选手账号,加入教练成立的队伍即可竞赛简要规则参赛队组成ACM-ICPC以团队的形式代表各学校参赛,参赛队可以来自亚洲任何的国家和地区的高校, 每个赛区的优胜队伍将获得参加ACM国际大学生程序设计竞赛全球总决赛资格。
ACMICPC是世界上公认的规模最大、水平最高的国际大学生程序竞赛

3
5 5 6 10 11
2007年正式参加亚洲赛: 2007 铜奖1 (ICPC排名33) 2008 铜奖4 (ICPC排名29) 2009 银奖1 (ICPC排名18) 铜奖2 今天晚上还会多出一个银奖(排名未知)
地球上都有些什么重要比赛?
全球总决赛:每年春天 2~4 月份 代表全球各大洲的 100 余所 学校的 100 余支参赛队(绝对的精英、天才之战) 各大洲分区赛:每年 9~12 月份各赛区的选拔赛有40场左右,每 场比赛选出其中的 1-5% 参加全球总决赛 本年度亚洲区:哈尔滨工业大学、浙江大学宁波理工学院 上海东华大学、中国科技大学、武汉大学 (大陆)(中国区) 全国性竞赛:酝酿多年(由于各种问题存在,至今未果)
3. 比赛激起好胜之心,希望自己可以做到更高更强更好。
比赛不仅能学到算法编程的知识,更可以 学到对生活,成败的态度。
为什么有气球?
竞赛是一个节日,是 一场天才高手的盛会。
没有弱队,没有输家, 只有强队和更强的队。 登上领奖台可能有偶 然因素,但是不变的 是快乐。
竞赛真的快乐吗?
找找与校、院领导站一起的感觉
我们的成绩如何?
年度 2003 奖牌 无 最好名次 总参赛队 我校参赛队数 不祥 104 3
2004
2005 2006 2007 2008 2009
铜奖 3
金奖1、银奖2、铜奖2 金奖1、银奖1、铜奖1 银奖1、铜奖1 银奖4、铜奖2 金奖1、银奖2、铜奖1
18
8 7 11 22 8
143
183 147 142 300 300
哪些人可以来玩?
• 8-12个队/每年省赛 • 3-4个队/每年亚洲赛 (并期望 1个队/全球总决赛) • 中学在NOI成绩较好的选手,中学基本未接触编程而 有浓厚兴趣且有一定天赋之人有机会参加比赛。
ACM的介绍

ACM的具体介绍ACM(Association for Computing Machinery)国际计算机协会ACM 是一个国际科学教育计算机组织,它致力于发展在高级艺术、最新科学、工程技术和应用领域中的信息技术。
它强调在专业领域或在社会感兴趣的领域中培养、发展开放式的信息交换,推动高级的专业技术和通用标准的发展。
1947年,即世界第一台电子数字计算机(ENIAC)问世的第二年,ACM即成为第一个,也一直是世界上最大的科学教育计算机组织。
它的创立者和成员都是数学家和电子工程师,其中之一是约翰.迈克利(John.Mauchly),他是ENIAC的发明家之一。
他们成立这个组织的初衷是为了计算机领域和新兴工业的科学家和技术人员能有一个共同交换信息、经验知识和创新思想的场合。
几十年的发展,ACM的成员们为今天我们所称之为“信息时代”作出了贡献。
他们所取得的成就大部分出版在ACM印刷刊物上并获得了ACM颁发的在各种领域中的杰出贡献奖。
例如:A.M.Turing奖和GranceMurr—ay Hopper奖。
ACM组织成员今天已达到九万人之多,他们大部分是专业人员、发明家、研究员、教育家、工程师和管理人员;三分之二以上的ACM成员,又是属于一个或多个SIGs(Special Interest Group)专业组织成员。
他们都对创造和应用信息技术有着极大的兴趣。
有些最大的最领先的计算机企业和信息工业也都是ACM 的成员。
ACM就像一个伞状的组织,为其所有的成员提供信息,包括最新的尖端科学的发展,从理论思想到应用的转换,提供交换信息的机会。
正象ACM建立时的初衷,它仍一直保持着它的发展“信息技术”的目标,ACM成为一个永久的更新最新信息领域的源泉。
编辑本段竞赛规则1比赛试题由6-10道试题组成,题目由英文或中文描述(中文题一半以上)。
2采用Windows环境,可使用的编程语言与编程工具为C/C++(VC++6.0)和pascal语言。
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
21 2020/10/23
俱乐部的老成员
自我介绍 联系方式 俱乐部的实验室:计算机楼北楼138
赛事介绍完毕 回到正题☺
SEU ACM/ICPC TEAM
20 2020/10/23
关于ACM俱乐部
2007年7月12日成立软件学院ACM俱乐部, 现在面向全校同学开放。
普及基础算法,培养同学们的编码能力及算 法基本功
选拔优秀队伍代表东南大学参加ACM-ICPC 国际大学生程序设计竞赛
SEU ACM/ICPC TEAM
为正确为止,其间每一次错误的运行将被加罚 20分钟时间,未正确解答的试题不记时。
SEU ACM/ICPC TEAM
17 2020/10/23
ACM .vs. 校程序设计竞赛
ACM竞赛
– 团队合作精神 – 即时提交,通过所有数据才能得分 – 全英文题目,题目考察范围广
校程序设计竞赛
– 个人编程能力的比拼 – 中文或者英文题目,考察编程基本功
成立于计算机诞生次年,是目前计算机学 界中历史最悠久、最具权威性的组织…
SEU ACM/ICPC TEAM
3 202ห้องสมุดไป่ตู้/10/23
我们说的“ACM” 是什么?
SEU ACM/ICPC TEAM
4 2020/10/23
ACM/ICPC:
ACM主办的国际大学生程序设计竞赛 (International Collegiate Programming Contest),简称 ACM / ICPC,自从1977年开始至今已经连续举 办31届。其宗旨是提供一个让大学生向IT界展 示自己分析问题和解决问题的能力的绝好机会, 让下一代IT天才可以接触到其今后工作中将要 用到的各种软件。
Accepted -- 恭喜恭喜!
SEU ACM/ICPC TEAM
16 2020/10/23
如何排名?
首先根据解题数目进行排名。 如果多支队伍解题数量相同,则根据总用时加
上惩罚时间进行排名。 总用时和惩罚时间由每道解答正确的试题的用
时加上惩罚时间而成。 每道试题用时将从竞赛开始到试题解答被判定
SEU ACM/ICPC TEAM
8 2020/10/23
ACM in SEU
08年江苏省赛第一名和第四名,团体总 分第一名
08年北京赛区银奖 08年合肥赛区银奖 08年成都赛区铜奖
SEU ACM/ICPC TEAM
9 2020/10/23
ACM in SEU
09年杭州赛区铜奖 09年上海赛区银奖 09年武汉赛区金奖 09年哈尔滨赛区铜奖 10年成都赛区银奖 10年福州赛区铜奖 11年福州赛区铜奖 12年天津赛区铜奖
现在,ACM / ICPC已成为世界各国大学生中最 具影响力的国际计算机赛事。(非官方)
SEU ACM/ICPC TEAM
5 2020/10/23
ACM/ICPC in China
中国大陆高校从1996年开始参加ACM国际大 学生程序设计竞赛亚洲预赛。 前六届中国赛区设在上海,由上海大学承办; 2002年由清华大学和西安交通大学承办; 2003年由清华大学和中山大学承办。 2004年由北京大学和上海交通大学承办。 2005年由四川大学、北大和浙大承办。
务)提供codeblocks eclipse vim等,g++ – 上机编程解决问题(可带纸质资料) – 实时测试,动态排名
试题
– 10-12题 – 全英文(可以带字典)
时间:持续5个小时
SEU ACM/ICPC TEAM
15 2020/10/23
如何比赛? 3人组队
可以携带诸如书、手册、 程序清单等参考资料; 不能携带任何可用计算机处理的软件或数据、不 能携带任何类型的通讯工具;
… 2012年:天津理工、浙江师范、浙江理工 东北师范、成都东软 2013年:南京理工…
SEU ACM/ICPC TEAM
6 2020/10/23
SEU ACM/ICPC TEAM
7 2020/10/23
ACM in SEU
东南大学自05年开始正式参加ACM Regional赛区
05年北京赛区 三等奖 06年西安赛区 铜奖 07年南京赛区 银奖 07年吉林赛区 铜奖 07年成都赛区 银奖
SEU ACM/ICPC TEAM
10 2020/10/23
09年武汉赛区金奖
SEU ACM/ICPC TEAM
11 2020/10/23
10年世界总决赛
SEU ACM/ICPC TEAM
12 2020/10/23
10年成都赛区银奖
SEU ACM/ICPC TEAM
13 2020/10/23
预期赛事
2012ACM俱乐部招新宣讲会
初识ACM ACM俱乐部 何为OJ? 初学者常见问题 ACM如何入门(输入输出) Q/A
SEU ACM/ICPC TEAM
1 2020/10/23
初识ACM
SEU ACM/ICPC TEAM
2 2020/10/23
What is ACM ?
ACM (Association for Computing Machinery)
可能收到的反馈信息包括:
Compile Error -- 程序不能通过编译。
Run Time Error -- 程序运行过程中出现非正常中断。
Time Limit Exceeded
-- 运行超过时限还没有得到输出结果。
Wrong Answer -- 答案错误。
Presentation Error
-- 输出格式不对,可检查空格、回车等等细节。
4月,举行校内大赛(暨选拔赛) 5月,参加南京各个高校的邀请赛 9月,参加ACM/ICPC亚洲区网络赛 10月,参加ACM/ICPC亚洲区现场赛 另外,每学期都会有适当的练习赛
SEU ACM/ICPC TEAM
14 2020/10/23
ACM/ICPC比赛形式
– 3人组队,相互合作。 – 1支队伍1台ubuntu机器(提供网络打印服
SEU ACM/ICPC TEAM
18 2020/10/23
ACM队队员的基本原则
基本要求
– 人品好 – 愿意花时间在这项赛事上 – 有团队合作精神
能力要求
– 程序设计(C++/Java/数据结构/算法) – 英语科技文献阅读
– 数学
SEU ACM/ICPC TEAM
19 2020/10/23