2024年USACO2月16-19日第三场题目+解析

时间:2024-03-06 10:27:58  作者:网络 来源:网络

USACO计算机竞赛2024年2月(第三场)已经结束,2024年2月铜级、银级金级铂金级真题解析已出,有需要的家长可以在文末扫码领取!USACO这一场题目难度比一月份简单,代码量较少,除了第二题相对难一点以外,其余都是平均水平。

 

USACO计算机竞赛 2024年2月铜级第一题

 

USACO计算机竞赛

 

代码:

#include <bits/stdc++.h>
using namespace std;
int main(){
    ios::sync_with_stdio(false);
    int T;
    cin>>T;
    while (T--)
    {
        string s;
        cin>>s;
        int n=s.length();
        if (s[n-1]=='0') cout<<"E"<<endl;
        else cout<<"B"<<endl;
    }
    
    return 0;
}

 

USACO计算机竞赛 2024年2月铜级第二题

 

USACO计算机竞赛

 

代码:

#include <bits/stdc++.h>
using namespace std;
#define int long long
const int N=5e5+100;
int a[N];
char s[N],s2[N];
signed main(){
    ios::sync_with_stdio(false);
    int n,m;
    cin>>n>>m;
    cin>>s;
    for (int i=n;i<2*n;i++) s[i]=s[i-n];
    int sum2=0;
    for (int i=0;i<n;i++) {
      cin>>a[i]; a[i+n]=a[i];
      sum2+=a[i];
    }
    int sum=0;
    for (int i=1;i<=n;i++) sum+=(s[i-1]=='R');
    if (sum==n||sum==0){
        cout<<sum2<<endl;
        return 0;
    }
    int tt=0;
    for (int i=0;i<n;i++)
      if (s[i]=='R'&&s[i+n-1]=='L') tt=i;
    for (int i=tt;i<tt+n;){
        int j=i;
        int now=0;
        for (j=i;j<tt+n;j++)
          if (s[j]==s[i]) {
            now+=a[j];
          } else break;
        j--;
        if (s[i]=='R') now-=a[j];
        else now-=a[i];
        sum2-=min(now,m);
        i=j+1;
    }
    cout<<sum2<<endl;
    return 0;
}

 

USACO计算机竞赛 2024年2月铜级第三题

USACO计算机竞赛

 

代码:

#include <bits/stdc++.h>
using namespace std;
const int N=1e6+10;
int a[N],b[N];
int n,m;
int f[N];
int main(){
    ios::sync_with_stdio(false);
    cin>>n>>m;
    for (int i=1;i<=n;i++) cin>>a[i];
    for (int i=1;i<=n;i++) cin>>b[i];
    for (int i=1;i<=n;i++){
        if (a[i]>b[i]) f[a[i]-b[i]-1]++;
    }
    for (int i=1e6;i>=0;i--) f[i]+=f[i+1];
    while (m--){
        int x,y;
        cin>>x>>y;
        if (f[y]>=x) cout<<"YES"<<endl;
        else cout<<"NO"<<endl;
    }
    return 0;

USACO计算机竞赛USACO计算机竞赛

(来源于MIT的招生官网)

图片
USACO竞赛各级别介绍
 

 

报名官网:http://www.usaco.org/

报名费:无;学生直接登录官网注册账号,免费报名

竞赛级别:铜、银、金、铂金

竞赛类型:个人赛

考试题型:3道编程题

编程语言:C/C++、Python、Java、 Pascal,推荐用C++。

考试时长:月赛4小时,公开赛5小时

满分:1000分

晋级分数线:700-800分,至少做对两道半题。【满分直接晋级,不是满分,则需要本场月赛结束后公布晋级线才能确定是否晋级下一等级考试

 

USACO计算机竞赛

 

USACO计算机竞赛铜级:熟知基本的编程知识,至少需要掌握一种编程语言。准确地将算法转化为计算机代码是铜级训练的核心。
 

▲银级:除了铜级中使用的工具外,引入并广泛应用数据结构,例如堆、栈、列表和树,以及相应的排序和搜索算法。简单的方法(如穷举法)在银级比赛中不再适用,算法的效率和复杂度开始成为重点。
 

▲金级:除了基本的数据结构(如列表、堆、栈、集合、关联数组)和相关算法外,更复杂的数据结构包括树和图的算法,以及动态规划、数论和排列组合等内容也广泛应用。
 

USACO计算机竞赛铂金级:在算法方面有深入了解,能够解决复杂和开放性问题。题目涉及多种算法的组合,可能还会涉及高难度的辅助算法。思维难度大,编码工作量也增加。

 

图片
USACO竞赛备考规划
 

USACO计算机竞赛

USACO竞赛真题及备考规划
码在线了解

 👇👇👇

 

关键字:USACO竞赛,USACO培训班,USACO竞赛辅导,

推荐资讯
Contact Us