USACO竞赛有4个级别,铜级,银级,金级,铂金级,难度依次递增。每个人都必须从铜级开始参赛,在规定时间内完成3道题目。
铜级:熟知基本编程知识,会至少一种编程语言。大多数铜级问题没有像高级别那样有很多效率问题。知道如何正确阅读理解题意,设计一个算法来解决问题。准确地把算法翻译成计算机代码是奥信铜级训练的中心。
银级:在铜级中用到的工具之外,数据结构包括堆、栈、列表、树以及相对应的排序、搜索算法将被引入并广泛应用。一般的简单方法(比如穷举法)将不再适用银级比赛,算法的效率和复杂度将开始成为重心。
金级:基本的数据结构诸于列表、堆、栈、集合、关联数组和相关的算法将普遍应用,更复杂的数据结构包括树和图的算法,以及动态规划、数论和排列组合也将被广泛采用。
铂金级:对算法有深入了解,能解决复杂问题、开放问题。题目复合多种算法,还会涉及高难度辅助算法,不但思维难度大,编码工作量也在加大。
竞赛会根据参赛选手的成绩来颁发对应的认证,获得相应证书的选手名单会被公布在竞赛结果中,把这些成就写在大学申请书或者实习/求职简历中会非常有帮助。