美国计算机编程算法竞赛 USACO (www.usaco.org)欢迎所有人参加。所有的新参赛者都是从铜级组开始的,那些在当前组别中得分特别高的人将在未来的比赛中被提升到下一个组别(由于每个比赛都不同,所以提升标准也不同)。只有非大学生才有资格被选为参加USACO训练营的决赛选手,并争夺美国IOI队的成员。参加比赛从不收取任何费用。 USACO采取了严格的政策来确保竞赛的诚信。USACO 明确规定:
每场比赛通常有3...4个问题,你将提交C、C 、Java 或 Python 语言的解决程序。这些问题都是算法性质的,所以要在规定的时间内正确解决所有测试案例,可能需要巧妙的算法和/或数据结构。 你在每个问题上的得分取决于你的程序能在规定时间内解决的输入案例的数量(对于大多数比赛,C、C 每个输入案例2秒,Java和Python每个输入案例4秒,尽管每个比赛或问题可能使用稍微不同的限制)。所有的问题陈述都是直截了当的,没有刻意的 '隐藏技巧'(然而,请注意,合法但复杂的数据集是测试的公平游戏)。问题的目的是具有挑战性;很少有大量的竞争者获得接近完美的分数的情况。 比赛通常是3...4个小时的连续时间。你可以在你想要的任何时间段参加比赛,只要你在较大的比赛窗口内开始。当你开始比赛时,你的个人计时器开始倒计时,你将能够通过这个网站查看比赛问题并提交解决方案。当你提交一个程序时,它将与一些判断性的测试案例进行比对,对于每一个案例,你都会收到反馈,以彩色方框显示:绿色表示正确,红色表示不正确。不正确的提交会根据问题的类型进一步区分:X(不正确的答案),T(超过时间限制),!(运行时间错误或超过内存限制),E(空输出文件),或M(丢失输出文件)。 如果你的程序编译失败,你将会看到编译器的错误信息。第一个测试案例通常与问题陈述中描述的样本案例相同,你需要正确地解决它,然后才会得到其余案例的反馈(这些案例在比赛中不会被透露,尽管你会收到关于你是否解决了这些案例的反馈)。 评委们保留在比赛结束后增加或删除测试案例的权利,所以即使你的程序在比赛中通过了所有的案例,仍然值得测试。如果你在竞赛期间取得了特别高的分数(通常要求是满分),你可能有资格获得 '竞赛中 '的晋升;否则,晋升将在竞赛结束后授予所有分数高于该竞赛晋升门槛的参赛者。如果你获得了竞赛中的晋升,你将能够在更大的竞赛窗口内的任何时间开始进行下一次竞赛,并且有一个完整的计时器;也就是说,你在先前的竞赛中花费的时间不会算在你解决下一次竞赛的时间中。比赛的官方语言是英语,尽管我们尽量提供其他几种语言的问题集的翻译,以方便我们的国际竞争者。如果翻译之间有任何分歧,英语版本应被视为官方版本。
|
|