北京大学暑期课:ACM/ICPC竞赛训练 面向全球招生

 

 

课程介绍

 

北京大学的ACM国际大学生程序设计竞赛(ACM/ICPC)水平在国内处于领先地位。北京大学多次承担ACM/ICPC亚洲区预选赛命题,广获好评。近几年负责命题的赛区有:2008年北京赛区,2009年宁波赛区,2010年杭州赛区,2010年福州赛区,2011年北京赛区,2011年福州赛区2012年金华赛区,2012年杭州赛区。2013年杭州赛区, 2014年广州赛区,2015年北京赛区,2016年北京赛区,2017年北京赛区,2018年北京赛区,均由此课程主讲教师郭炜负责命题。北京大学的Online Judge --- POJ 更是国内最有影响力的ACM/ICPC竞赛训练平台之一,在国际上也有较高知名度和较多用户。

北京大学ACM/ICPC竞赛队精英汇集,大多数队员都曾在全国中学生信息学奥赛上取得过优异成绩,或在ACM/ICPC亚洲区预选赛中获得过金奖。北京大学ACM/ICPC竞赛队通过多年的积累,已经形成了一套行之有效的系统训练方法。

本课程为准备参加ACM/ICPC的同学设置,不但对提高参训学校的竞赛成绩大有帮助,而且也是广交牛友的绝佳机会。

 

课程信息


课程编号:  30330500      学分
: 2  
一般来说,所修学分和成绩在选课者所在的大学也有效(具体情况请咨询贵校教务)。

学费1000元。我校会开具学费收据。

授课对象本课程为程序设计竞赛 入门课程,对于已经获得过ACM/ICPC亚洲区预选赛铜奖或更高奖的,不建议选修 。本课程以面向大学生为主。但如果您是教师或中学生,只要对程序设计竞赛感兴趣,我们也同样欢迎选修。

先修课程C++;基础的递归、枚举算法;

授课时间:2020.7.13 - 2020.7.24,周一至周五 13:00 - 17:00

授课地点: 由于特殊情况,改为网络授课,不可到北京大学来

报名方式: 网上报名。报名链接:http://summer.pku.edu.cn/ 

报名时间:2020.06.08 - 2020.06.19 报名日程  课程信息

 

此课选的人较多,教室容量有限,请尽早报名

 

 

授课方式:

包括:专题讲座、专题练习和考试。

其中9天的内容为算法专题讲座。练习为课后自己做POJ上布置的作业。

最后一天为期末考试

 
授课内容:

课程内容涉及ACM/ICPC竞赛中用到的大量算法,包括以下专题,除理论知识外还包括精选例题讲解(先后次序可能调整,内容也可能微调):

1)基本算法: 二分,分治,贪心

2) 动态规划

3) 搜索算法:深度优先 搜索,广度优先搜 A*算法 ,阿尔法贝塔剪枝

4)数据结构: 线段树, 树状数组,并查集,Trie图

5) 图论问题:最小生成树 最短路 强连通分量、桥和割点

6)  网络流算法:基本的网络流算法,Dinic算法,带上下界的网络流,最小费用流

7)  计算几何:线与线求交,线与面求交,求凸包,半平面求交等

8) 竞赛中的若干数学问题  

成绩评定:

根据期末考试评定成绩。

 

授课教师:

    郭炜曾经讲授过操作系统, Java程序设计语言,多年来一直讲授《程序设计实习》课程,2004年-2012年担任ACM/ICPC北大队教练。EMail: gwpl@pku.edu.cn 欢迎咨询。 著有《新标准C++程序设计》、《ACM国际大学生程序设计竞赛亚洲区预选赛真题题解》等书。