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

课程咨询热线 400-656-1680

1月USACO计算机竞赛'金牌'解题分析!附备考资料领取!

发布时间:2024-02-04 09:32:13

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

USACO竞赛试题有吗?USACO竞赛1月金牌试题解析在哪领?1月的USACO月赛结束后,很多学生都想知道自己答题怎么样,有没有可能晋级,今天我们就金级试题做出相关解析,帮助学生回忆。
USACO计算机竞赛1月月赛已经结束了!不知道同学答题情况如何?小编给大家整理了USACO计算机竞赛'金牌'解题分析,参赛的同学可以简单做个参考。当然,打算参加2月月赛的同学,可以扫码领取小编整理的备考资料哦,希望可以对同学们有所帮助!

图片
图片

 

 

01

 

 

USACO 2024年1月金牌题目解析

X-NEW

2024年 Jan GOLD probelm1 Walking in Mannhattan

 

Au1:

算法:二分,观察性质

首先假设当前在x轴朝向上行走,什么时候会转向到y轴?

我们发现当且仅当当前道路距离下一条道路是奇数距离的时候会转向

于是我们可以考虑去二分转向的次数,计算出在当前转向次数下运动的距离,判断它是否小于等于题目给出的运动距离

代码实现较为复杂,需要注意细节

时间复杂度: $O((n+q)*log)

2024年 Jan GOLD problem2 Cowmpetency

 

Au2:

算法:动态规划

和银组第一题类似

定义$i$这个位置是前缀最大值当且仅当$a[i]>a[j]$ (for all $1le j<i$)< p="">

我们会发现对于某个$(a[i],h[i])$相当于要求$[a[i]+1,h[i]-1]$这一段不能是前缀最大值,$h[i]$这个位置必须是前缀最大值

最终我们将相同情况的序列合并在一起,那么就是有最多$3*Q$段的序列(每一段内部要么要求一定是前缀最大值/一定不是前缀最大值/没有要求),求最终合法的方案数

定义$dp[i][j]$代表当前考虑到前$i$段数,选的数的最大值是$j$的方案数

假设当前这一段序列长度为$len$

当一定是前缀最大值时:

$dp[i][j]=sum_{k=1}^{j-1} dp[i-1][k]$

当一定不是前缀最大值时:

$dp[i][j]=dp[i-1][j]*j^{len}$

当没有要求时:

$dp[i][j]=dp[i-1][j]j^{len} + sum_{k=1}^{j-1} dp[i-1][k](j^{len} -(j-1)^{len})$

时间复杂度: $O(qclog)$

2024年 Jan GOLD problem3 Nap Sort

 

Au3:

算法:二分

注意到分给Bessie自己的数越多答案相应的会越大,但是会越容易满足题目限制

所以我们考虑去二分 分给Bessie的个数$mid$

那么它们分别被加入序列的时间就是$mid, mid + (mid-1) ,... , mid+...+1$

显然我们比较希望尽量靠后的数能被加入到Bessie的序列中,所以对于每一个加入序列的时间我们可以贪心的去找到第一个大于当前时间且没有被插入到序列中的数,将它插入到序列中

这个过程可以用类似于双指针的思想来优化

最终$min(数字最大值,mid*(mid+1)/2)$就是我们的答案

时间复杂度: $O(n*log)$

 

02

 

 

USACO竞赛复习技巧

X-NEW

 

温故知新 整理错题

对曾刷过的USACO竞赛题目进行复习重刷,重新梳理解题思路,做好笔记整理。备赛时还可以利用一些学习网站,与其他备赛选手交流解题思路。

 

对常考点重点复习

对USACO竞赛中的一些常考知识点进行重点复习,例如银级常考的知识点包括排序、二分和并查集;金级常考的知识点包括动态规划、最短路径等算法等,整理答题思路和模板,在比赛时可以大大节省答题时间。

 

考前多刷真题

考前一定要多刷历年真题,从真题中总结竞赛的重难点、易错点、常考点,查漏补缺,在正式考试前做好充足的准备!

 

在线咨询领取计算机资料和备考规划
 

  犀牛USACO竞赛培训课程

  犀牛国际计算机竞赛教研团队依据美国下一代科学标准NGSS,美国计算机教师协会K-12教育标准,美国共同核心州立标准CCSSS,设计编程课程。

  犀牛USACO竞赛采用体系化的专业教材,将竞赛知识点和国际课程知识点整合。USACO教研组老师曾带出多名白金组学员,拥有专业的教学能力。

  USACO竞赛教材

  

图片
图片

  课程目标:完成USACO的知识点的学习。通过系统地梳理,充分的练习熟悉考试的题型和难点重点,冲刺USACO竞赛高分

  USACO初级班:适合计算机编程刚入门,语言基础薄弱,无比赛经验计划申请计算机专业的中学生;

  USACO中级班:适合至少会一门计算机编程语言(推荐C++或Java),算法基础一般,少量比赛经验的学生

  USACO高级班:适合具有完善的计算机编程语言基础,有入门算法经验,一定比赛经验,如NOIP,USACO银组等的学生

 

图片

USACO竞赛备考,欢迎在线找客服老师了解 

相关标签:
TOP