发布时间:2023-05-11 09:49:24
编辑:lisa来源:未知浏览:次
USACO竞赛的难度有多大?有没有USACO竞赛历年真题?USACO竞赛是美国的计算机奥赛,面向全球高中生的一大高含金量的计算机赛事。USACO竞赛也是目前国内学生参加最多的,可以帮助学生申请美国留学的重要竞赛。USACO竞赛有多难呢?可以从2022年的竞赛真题中了解。
为大家整理了2022-2023年USACO竞赛真题以及相关解析,大家可以根据竞赛真题感觉USACO的难度!
题目解析:
枚举n轮delivery依次处理就好了, 不过要注意一些细节,具体见代码:
long long currentday = 1, sum = 0, ans = 0;
for(int i=0; i<n; i++){
cin >> d >> b;
sum += b;
if(currentday < d) { // 注意判断
currentday = d;
}
// 剩余的天数和当前的haybale数量取较小的
long long diff = min(t - currentday + 1, sum);
sum -= diff;
ans += diff;
currentday += diff;
}
题目解析:
本题给定一个N*N大小的canvas,一个K*K大小的stamp,stamp可以重复顺时针旋转90度,然后可以放任意位置去填涂canvas,要求把‘*’都涂上,‘.’留白,逐个点暴力枚举就可以了,判断的时候要注意,在填涂该点的时候,不能影响其他空白的地方。方便起见,可以把stamp依次旋转90度,保存为4个stamp数组,需要用到矩形旋转公式。
核心代码如下:
// 旋转90度
for (int i = 1; i <= K; i++)
for (int j = 1; j <= K; j++) {
s2[j][K + 1 - i] = s1[i][j];
}
// ...
int ans = 1;
for (int i = 1; i <= N; i++) {
for (int j = 1; j <= N; j++) {
if (canvas[i][j] == '*') {
int res = check(i, j);
ans = min(ans, res);
}
}
}
if (ans) {
cout << "YES\n";
} else {
cout << "NO\n";
}
由去年的USACO竞赛真题不难看出,想要在竞赛中拿到高分成功晋级,专业的竞赛培训是提升成绩的关键,目前国内USACO竞赛培训有辅导课程吗?
犀牛USACO竞赛课程辅导
犀牛USACO竞赛采用体系化的专业教材,将竞赛知识点和国际课程知识点整合。USACO教研组老师曾带出多名白金组学员,拥有专业的教学能力。
Teaching
老师将根据不同学生的编程水平、学习能力、学习进度进行教学调整,从而真正地帮助每位同学提升自己的计算机能力,培养学科思维,帮助你在竞赛之中脱颖而出,赛出新高度!
班型名称 |
班型设置 |
课时数 |
USACO铜升银 |
线上/线下1V6 |
50h |
USACO银升金 |
线上/线下1V6 |
40h |
USACO金升铂金 |
线上/线下1V3 |
48h |
六年级及以上学生
申理工科相关专业通过竞赛提升竞争力
计算机编程零础、基础较薄弱学生
申人文社科相关专业结合计算机辅助升学
考试报名|课程安排|课程收费
在线咨询了解详情
AP03-08
IBDP03-07
小托福04-03
美国留学04-05
微信咨询