当月比赛结束1周后USACO的月赛和公开赛均为独立参赛,所有学生都可以报名参加,两者之间没有直接的强制晋级关系,但选手在月赛中的表现会影响其在公开赛中的起始级别,公开赛的难度更高,成绩也更为关键,详细晋级规则请见下文。
👉参赛条件:没有明确限制,主要面向6至12年级学生
👉比赛时长:月赛时长为4小时,公开赛时长为5小时
👉比赛题型:3道编程题目,包括但不限于动态规划、图论、贪心算法、数论等
👉比赛语言:可以使用C++、Java、Python、Pascal等编程语言
👉计分方式:满分1000分,每题333.333分,根据测试用例的通过情况评分
1、引入“认证分数”概念,在黄金和白金组别中,若希望获得认证分数,则需要在美国东部时间周六中午12:00至12:15之间开始比赛;
2、比赛期间明确规定禁止使用人工智能生成器;
3、美国学生不允许使用VPN隐藏自己的IP地址;
USACO要求参赛者掌握从基础到高级的算法和数据结构知识,并具备良好的编程技巧。以下是各组别的具体要求及特点:
-
青铜级:考查简单逻辑思维与算法实现,需掌握基本编程语法(如变量、循环、条件语句等),实现简单算法(如排序、查找),难度相当于大学入门级编程课程(CS1)。
-
白银级:面向学习基础问题解决算法的选手,需掌握数组、链表、栈、队列等数据结构,以及贪心算法、递归、搜索(DFS、BFS)、二分查找等,接近大学数据结构课程水平。
-
黄金级:要求理解高级算法(如最短路径、动态规划)和高级数据结构(如堆、树),并掌握算法复杂度分析,达到大学算法课程标准。
-
铂金级:最高级别挑战,要求深厚的算法知识和灵活的思维能力,部分题目有多种优化方案,符合IOI选拔赛难度。
USACO竞赛共设立四个级别,选手可以在每年的月赛和公开赛中参赛,成绩达到晋级标准的,将会晋级至下一级别;
青铜级:初学者级别,一般被认为是刚接触编程的选手
白银级:中级级别,代表掌握了一定的算法和数据结构知识
黄金级:高级级别,代表具备较强的算法设计和实现能力
铂金级:最高级别,代表具备极高的编程和算法水平
晋级规则:
1、首次报名参加USACO竞赛的选手,将默认从青铜级开始,通过月赛和公开赛晋级到更高级别;
2、在月赛或公开赛中取得满分成绩的选手,将自动晋级,可在当月剩余比赛时间中,继续挑战下一级别难度的比赛;
3、未在月赛或公开赛中取得满分成绩的选手,当月比赛结束后,根据成绩决定是否晋级;若晋级,可在下一次比赛中挑战下一级别难度的比赛;
4、在从黄金级晋级到铂金级的比赛中,只有获得认证成绩的选手才有资格最终晋级;
5、选手一旦晋级到对应级别后,将终身有效,即便是跨赛季的比赛,也无需从低级别开始;
|