ACM竞赛需要准备哪些课程?

课程:

(1)基础算法:二分法,分而治之,贪婪。

(2)离散数学离散数学动态规划

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

(4)数据结构:线段树、树数组、并集、Trie图。

(5)图论问题:最短路径强连通分量、桥和最小生成树的切点。

(6)网络流算法:基本网络流算法、Dinic算法、带下界的网络流和最小费用流。

(7)计算几何:直线的相交、直线与曲面的相交、凸包的相交、半平面的相交等。

(8)离散数学、高等数学、线性代数、初等数论、计算几何。

(9)计算机英语

(10)c++;基本递归和枚举算法

扩展数据:

1.这个队最多由三名队员组成。

2.大赛约10题,试题用英文描述,比赛时间5小时。前四个小时可以实时看到排名,最后一个小时关闭榜单,但是看不到排名。

3.可以参赛的语言:Java,C,C++,Kotlin,Python。

4.注重参赛者的算法和编程能力,而忽略了实际工程中常用的系统编程、多线程编程等;

5.玩家可以携带任何非电子资料,包括书籍和印刷程序等。有些赛区会限制选手可以携带的纸质资料。

6.评委负责通过网络尽快将成绩(正确或错误类型)反馈给参赛选手,不提供任何额外帮助;

7.每个题目对应一个颜色的气球,通过题目的队伍会得到相应颜色的气球。第一个解决每个问题的团队将获得一个额外的“第一个解决的问题”气球。

参考资料:

北京大学暑期课程:ACM/ICPC竞赛培训

百度百科-ACM acm国际大学生编程竞赛