【综合】Acm竞赛简介共107页文档
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竞赛简介

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天才可以接触到其今后工作中将要 用到的各种软件。
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国际大学生程序设计竞赛全球总决赛资格。
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语言。
【综合】Acm竞赛简介

Parity(ceoi99)(肖天)
• 建立sum数组,sum[i]表示从1到i之和是奇(true)还是偶 (false),sum[0]=false。这样题目中给的任意问题(a,b) 的答案都可以用sum[b] xor sum[a-1]表示。 • 开始我们并不知道sum[1..n]的值,不妨设为false,这时任意 sum[a],sum[b]都是独立的。对于每对问答(a,b,c),都可以 知道sum[b] xor sum[a-1]=c,由此把sum[b]和sum[a-1] 联系起来。这步操作可以用并查集完成,对于问答(a,b,c)如 果sum[a-1],sum[b]不属于一个集合就把它们并起来,否则 如果sum[a-1] xor sum[b]不等于c则说明出现矛盾,输出总 句数,退出。 • 对于不出现矛盾的sum数组,对于每个集合分为两个部分,我 们指定其中一个部分为true,另一个部分为false,则可以确定 sum数组,利用sum[i] xor sum[i-1]可以求出第i位的数字, 由于不同集合之间没有问答出现,所以此数列是一可行解,证 明算法正确。
• 但有时却是最好的办法
22
Pizza Anyone? (ZOJ 1219)
• 题目大意: 你需要为你和你的朋友们订一个皮萨。 每个朋友都会告诉你他们想和不想放进皮萨 里的东西。 你是否能订一个皮萨,让他满足每个人 至少一个条件。 假设一共有16种东西可以放进皮萨。
23
2 65536
16
是个对计算机很 小的数
3
ACM
ACM (Association for Computing Machinery) 成立于计算机诞生次年,是目前计算机学界中历史最 悠久、最具权威性的组织,是推进信息技术专业人员 和学生提高技巧的主要力量。ACM通过提供前沿技 术信息和从理论到实践的转化,为其全球7.5万名成 员服务,并已经成为信息科技领域的一个基本信息来 源。
吉林大学ACM国际大学生程序设计竞赛简介

吉林大学ACM国际大学生程序设计竞赛简介竞赛宗旨ACM国际大学生程序设计竞赛是由位于美国的计算机协会组织的年度性竞赛,是全球大学生计算机程序能力竞赛活动中最有影响的一项赛事,它已成为国内外各高校展示实力、加强交流、相互促进、共同发展的广阔舞台。
ACM/ICPC作为具有国际权威性和影响力的国际大学生程序设计竞赛,已成为衡量大学生程序设计能力和学校计算机学科水平的重要标准之一。
我校于2002、2003、2004、2005年参加亚洲预赛,分别在这八个赛区中取得学校排名第16、第17、第12、第9,第7、第18,第21,第17,共获得银奖2块、铜奖6块,竞赛成绩在不断稳步提高。
竞赛支持网站:(校外)(校内)竞赛联系地点:前卫南校区萃文楼501竞赛交流平台:吉林大学BBS 牡丹园-电脑技术-算法版/cgi-bin/bbsdoc?board=Algorithm参赛对象1、凡吉林大学在校本专科生均可报名参加。
年级、专业不限。
鼓励低年级同学参加。
2、比赛学生以个人身份参加,每人独立参赛。
3、参赛同学应在竞赛网站上注册参加热身赛,在报名时提供个人资料。
4、参赛同学应保证自己身份等资料的真实性。
5、以往学校代表队同学成绩不影响其他同学排名及奖励。
竞赛细则1、选手在参赛时携带个人证件。
2、竞赛以上机为比赛方式。
3、竞赛中至少命题6题,至多命题10题,上机比赛时间为5个小时,中间不休息。
4、参赛选手可以携带诸如书籍、字典、手册、程序清单等文字性参考资料。
5、参赛选手不能携带任何可用计算机处理的软件或数据(不允许任何私人携带的磁盘或计算器)。
6、参赛选手不能携带任何类型的通讯工具,包括无线电接收器、移动电话等。
7、选手未解决全部题目不得提前离场8、竞赛的预定时间为5小时,但当竞赛进行一定时间后,竞赛裁判可以因为出现不可预见的事件而调整比赛时间长度,一旦比赛时间长度发生改变,将会以及时并且统一的方式通告所有参赛选手。
9、当参赛选手出现妨碍比赛正常进行的行为时,诸如擅自移动赛场中的设备,未经授权修改比赛软硬件,干扰他人比赛等,都将会被竞赛裁判取消参赛资格。