犀牛国际教育旗下指定官方网站~

课程咨询热线 400-656-1680

USACO竞赛的难度有多大?2022年USACO真题告诉你~

发布时间:2023-05-11 09:49:24

编辑:lisa来源:未知浏览:

USACO竞赛的难度有多大?有没有USACO竞赛历年真题?USACO竞赛是美国的计算机奥赛,面向全球高中生的一大高含金量的计算机赛事。USACO竞赛也是目前国内学生参加最多的,可以帮助学生申请美国留学的重要竞赛。USACO竞赛有多难呢?可以从2022年的竞赛真题中了解。

 
USACO竞赛有多难?
 

 

为大家整理了2022-2023年USACO竞赛真题以及相关解析,大家可以根据竞赛真题感觉USACO的难度!

 
第1题
 

图片

图片

图片

题目解析:

枚举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;}

 

 
第2题
 

 

图片

图片

 

图片

题目解析:

本题给定一个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竞赛常规班
 

 

班型名称

班型设置

课时数

USACO铜升银

线上/线下1V6

50h

USACO银升金

线上/线下1V6

40h

USACO金升铂金

线上/线下1V3

48h

 

 
适合学生
  • 六年级及以上学生

  • 申理工科相关专业通过竞赛提升竞争力

  • 计算机编程零础、基础较薄弱学生

  • 申人文社科相关专业结合计算机辅助升学

 

USACO竞赛暑期辅导课程

考试报名|课程安排|课程收费

在线咨询了解详情

相关标签:
TOP