唯寻国际教育旗下指定官方网站
课程咨询热线 400-825-6055
唯寻杯

​USACO竞赛难度很大吗 选手说使用C++比Java解题更有利

12-04
留学刚需

对于一些想要申请优质大学计算机专业的同学们来说,手握USACO竞赛的奖项可以在申请中秒杀众人。但是每年都会有很多同学们来问我们USACO竞赛难度很大吗?今天就用真题给同学们讲讲USACO竞赛难度到底是什么样的。

以下试题皆来自于2019年的真题

Bronze赛题

USACO竞赛难度很大吗  选手说使用C++比Java解题更有利内容图片_1

这题采用枚举法,列出(i,j)组合,观察每场比赛是否都优秀。

USACO竞赛难度很大吗  选手说使用C++比Java解题更有利内容图片_2

赛题解析:这道题还是采用枚举法,列出每个长度,检查是否合法。

USACO竞赛难度很大吗  选手说使用C++比Java解题更有利内容图片_3

赛题解析:采用枚举法,列出每个排列,检查是否合法。

Silver赛题

USACO竞赛难度很大吗  选手说使用C++比Java解题更有利内容图片_4

赛题解析:定义f(x)表示x个人,报号的人数,通过容斥原理,再对f(x)二分得到答案。

 USACO竞赛难度很大吗  选手说使用C++比Java解题更有利内容图片_5

赛题解析蚂蚁爬杆问题,只考虑爬出左右边界牛的个数,就不需要考虑操作2的交换速度操作。因为牛的相对位置不变,我们知道左边到达几个,右边到达几个,就可以知道当前时间到达的牛的权值和。第二问,经过时间T,通过排名的相对位移来测算碰撞次数。

USACO竞赛难度很大吗  选手说使用C++比Java解题更有利内容图片_6

赛题解析:判断某条链上是否有某种奶牛,假定根为O,将这条链AB拆成两条链 OA和OB 在减去两倍的LCA(A, B),LCA是树上两点最近公共祖先,使用最快的ST表法 O(nlog(n))预处理 O(1)查询。假定 cnt[A][0]是 A到O H牛的个数 cnt[A][1]是 A到O G牛的个数,那么AB链上H牛的个数是cnt[A][0] + cnt[B][0] - 2 * cnt[fa[LCA(A,B)][0]

Gold赛题

USACO竞赛难度很大吗  选手说使用C++比Java解题更有利内容图片_7

考虑以下dp方程,dp[i][j]表示跑到i点最小的一个流时j的最小代价。现假定有一条边 i v f c,那么dp[v][min(f, j)] = min(dp[v][min(f, j)], dp[i][j] + c),这个方程类似于最短路。  通过在dp方程上跑最短路算法获得结果。

 USACO竞赛难度很大吗  选手说使用C++比Java解题更有利内容图片_8

判断某条链上是否有某种奶牛,假定根为O,将这条链AB拆成两条链 OA和OB 在减去两倍的LCA(A, B),LCA是树上两点最近公共祖先,使用最快的ST表法 O(nlog(n))预处理 O(1)查询。我们假定 cnt[A][0]是 A到O H牛的个数 cnt[A][1]是 A到O G牛的个数,那么AB链上H牛的个数是cnt[A][0] + cnt[B][0] - 2 * cnt[fa[LCA(A,B)][0]将询问离线到三个点上 dfs查询即可 。

USACO竞赛难度很大吗  选手说使用C++比Java解题更有利内容图片_9 

从i跑到j的最小代价通过floyd算法松弛。考虑一种dp,dp[i]表示考虑到第i个字符 前面的都合法的最小代价。dp[i] = min(dp[j] + str[j + 1...i]的字符都变成同一个字符的代价) (i - j >= k)这样朴素的dp复杂度是O(n^2*m)发现这个dp值是从前缀转移过来的,通过前缀和优化可以优化到O(nm)

Platinum赛题

USACO竞赛难度很大吗  选手说使用C++比Java解题更有利内容图片_10 

考虑这样的区间dp,dp[l][r]表示这个区间完全被选中能获得的最大值。

转移中需要辅助数组

lma[l][r]表示(l,r)的所有子区间中dp的最大值

rma[l][r]表示(l,r)的所有子区间中dp的最大值

ma[l][r][k]表示能被区间[l,r]完全包含且能吃到点k的牛中权值最大的一头。

按照区间dp的经典套路转移复杂度O(n^3)

USACO竞赛难度很大吗  选手说使用C++比Java解题更有利内容图片_11

如果给以x为根的子树染上颜色c。假如这颗子树都没有颜色c,那么这颗子树每个点权值都加一,假如有染色,那么以其染色子树的跟删除,直到以x为根的子树没有颜色c,如此,每个染色操作至多被删除一次。权值加一的操作,通过dfs序剖分后使用线段树维护。

这里还有两个子问题:

1.如果某次染色操作,其祖先已被染该颜色,该次染色无效 ;

2.怎么维护某种颜色下,有多少子树被染色。这两个子问题都可以用set维护 。

从以上的真题中我们能够看出如果使用C++11语言会比Java语言更简单有效的解题。因为在有限的解题时间内,使用程序运行效率高的C++语言对于考生来说是非常有利的。

竞赛是进入知名大学的关键助力之一。纵观唯寻今年113位牛剑录取的学员,大部分学员手里都握着各种竞赛奖项:AMC,UKCHO,BBO等等。能申请牛剑G5的学员成绩都不会差,只有竞赛、文书、背景提升这样的软实力才能拉开差距,2021年上半年就有一大波权威国际竞赛,如果你还不知道从哪里开始,就点击报名【唯寻竞赛复习班】,让知名大学海归竞赛导师带你选择最适合自己、最有利于申请的竞赛,高效梳理知识点,训练考试技巧,介绍联想、类比、归纳、转化、试误等答题技巧。

USACO竞赛难度很大吗  选手说使用C++比Java解题更有利内容图片_12

点击

计算机零基础 如何复习USACO竞赛

USACO比赛难度高吗?用一道真题解析告诉你

查看更多USACO竞赛信息。


定制化留学指南
留学资料免费领取
开启buff留学之路
  • 英美留学规划时间轴
  • 牛剑面试sample
  • 牛津数学系面试真题解析
  • 剑桥雅思官方真题集
  • 33所大学申请指南
  • 牛津大学留学指南
  • 美国大学10年录取形势变化统计报告
  • 剑桥大学留学指南
  • QS300英国院校指南合集
  • 更多留学资料
立即领取
唯寻导师团队

潘田翰(创始人)

剑桥大学化学工程硕士

Candise Cai

牛津大学化学硕士

Chris Chen

帝国理工学院物理学士

Ruby Rui

剑桥大学经济系学士&双硕士学位

Elaine Xu

牛津大学数学与统计专业学士

Olivia Hu

纽卡斯尔大学语言学专业硕士

Irene Liu

约翰霍普金斯大学国际关系/国际经济硕士

Mini Liu

东南密苏里州立大学双硕士

Shanshan Yu

英国伦敦政治经济学院金融学硕士

Stephy Tian

帝国理工化学硕士

Max Liu

帝国理工大学生物病毒学硕士

Sherry Lu

剑桥大学教育语言学硕士

Sue Pang

牛津大学经济与管理学士学位&LSE硕士

Jaryn Huang

牛津大学社会人类学专业哲学硕士

Peter Liu

牛津大学工程科学专业学士&硕士

Frances Zhu

牛津大学化学专业学士&硕士

Qianli Xia

剑桥大学数学系荣誉学士&硕士

Fang Yuan

美国普渡大学生物工程荣誉学士

Freda Yang

伦敦大学学院应用语言学硕士

Bo Su

范德堡大学英语教育硕士

Yuchen Yang

剑桥大学化学工程专业学士&硕士

Dora Liang

华威大学硕士

Tiffany Lin

伦敦大学学院经济学硕士
唯寻业务优势
  • 专业做牛剑/G5申请、牛剑笔面试培训,案例多数据全,经验丰富,筑梦牛剑/G5。
  • 众多牛剑+藤校等TOP院校背景导师,为您打造专属留学方案。英美留学绿色通道,个性规划,便捷申请。
  • 顾问师/规划师/课程导师/助教四位一体线上+线下服务闭环,让家长和学员放心。学习有方法,成长看得见。
  • ALevel/IB/AP/IGCSE国际课程辅导,牛剑/G5/藤校留学申请,竞赛背提培训,标化语言考试一体化服务。
荣誉源于实力
留学教育行业"全国知名度"品牌机构
Oxford International AQA Approved Teaching School
雅思考试合作伙伴项目明日之星
荣获新浪《年度品牌影响力国际教育机构》
荣获腾讯《年度影响力在线教育品牌》
荣获新华社《口碑影响力课外辅导机构》
National Economics challenge 2020 Official Test Center
2018年度家长信赖在线教育品牌

在线抢试听名额

学习有方法,成长看得见

筑梦牛剑/G5/常春藤

立即领取
相关文章推荐
唯寻导师推荐
换一换

Irene Liu

约翰霍普金斯大学国际关系/国际经济硕士

约翰霍普金斯大学国际关系/国际经济硕士

· 保罗·尼采高级国际研究学院

· 国际生奖学金获得者

· 曾在美资外企、证券公司及国际商务机构工作/实习,回国后加入国际教育行业,辅导学生获得 Columbia、Upenn、JHU、WUSL、Cornell、UCB、UCLA、USC、NYU、Harverford等美国知名院校录取

立即领取