USACO竞赛在MIT(麻省理工学院)本科招生官网中被“点名”推荐为课外活动,足以证明其含金量之高。新手备考怎么铜升银?USACO竞赛升级需要掌握哪些技能?USACO铜升银要学习哪些知识点和算法?
USACO竞赛晋级规则
美国信息学奥林匹克竞赛(USACO)采用积分赛制,共分为四个梯队:青铜、白银、黄金、白金。考生可以逐渐晋级到更高的组别
USACO竞赛每年会有四场比赛,分别在12月、1月和2月进行。此外,还有一场比较特殊的公开赛——USA OPEN。也就是每年新手参赛有3次机会可以升级(铜升银,银升金,金升铂金),最终晋级最后的公开赛。
!USACO竞赛升级需要掌握哪些技能?!
铜组升级到银组需要掌握基本编程常识,至少会一种编程语言,需要问题解决能力和简单算法;
银组升级到金组需要理解抽象方法,例如最短路径和动态规划,掌握特定算法,有优化意识,通过数学和逻辑方法找到最优解;
金组升级到铂金组则需要掌握更深入的算法知识,难度相对较高。
USACO铜升银要学习哪些知识点和算法?
铜组考什么?
铜组考试主要测试两类内容,一种是模拟(simulation),另一种是暴力算法(brute force),同时还会涉及一些观察力(observation)的题目。
在铜组考试中,学生需要掌握基本的暴力算法,例如深度优先搜索和广度优先搜索,并且需要具备基本的代码调试能力。此外,良好的阅读理解能力也是非常重要的,因为有些题目往往需要综合各种信息来得出正确答案。
铜组算法要求是什么?
Bronze(铜级)算法:适合于刚学会编程的学生,考察的知识点主要有:穷举算法(CompleteSearch)、模拟算法(Simulation)、贪心算法(Greedyalgorithm)、全排列(Permutation)、杂类题目(Ad-hoc)、递归(Recursion)。
银组考什么?
银组考试主要考察4个重要的主题,其中第一个是"twopointer",第二个是"sweepline",第三个是"binary search on answer",第四个则是"prefixsum+graph+simpledp"。此外,去年发现,以往只在黄金级别的考试中出现的问题,现在也开始出现在银级考试中,例如一些图论和简单动态规划问题。银级考试要求学生能够编写长达50~100行、甚至100行以上的代码,并且需要具备调试代码和建模的能力。因此,对学生的编码水平提出了更高的要求。
银组考什么?
Silver(银级)算法:面向开始学习基本问题解决算法,考察的知识点主要有:排序(Sorting)、二分查找(BinarySearch)、递归搜索(Recursion)、图的遍历(DFS&BFS)、FLoodfill算法、前缀和(PrefixSum)、扫描线算法(LineSweep)。