从预赛到决赛:我的BCPC 2024初体验
此次比赛的封面图来源于BCPC 2024官方网站。
此次比赛所涉及到的题目:
- 预赛:pdf题面、Codeforces链接。
- 决赛:pdf题面。
BCPC是北京航空航天大学的校内程序设计竞赛,即Beihang University Collegiate Programming Contest,同时也是ACM集训队选拔赛。去年由于自觉水平不足,我仅参加了预赛,没有晋级。今年再次挑战,希望有所进步。
预赛回顾
预赛于2024年12月5日至9日线上举行,共15道题。由于监管不严,网上有可能存在作弊行为,但我认为这样即使进了决赛也没有意义。我最终完成了七道题,有幸晋级决赛。
预赛题目难度中等,整体还算可接受。我虽然没有全力以赴,但相比去年还是有了一定提升。
决赛体验
决赛在12月15日进行,从上午10点到下午2点,于学校机房现场举行。本次决赛共有9道题。比赛环境中VSCode没有安装C++插件、且无法联网,我只能转而使用CLion。比赛方提供了鼠标垫、饮料、零食、午餐(汉堡),还有现场气球奖励机制,每做出一题,工作人员会在气球底座上插上一个气球。比赛后期的45分钟为封榜时间,无法看到实时排名变动。
我对题目的理解与应对如下:
- A题:给定一个数,可在其中任意位置插入乘号或不插入,求最大值。直观上直接不插入即可得到最大值,因此这题较为简单。
- B题:给定和,在小于的范围内,找出最多经过次四舍五入后能变成的所有数之和。虽然容易得到答案为等差数列求和,但由于数值巨大(可能高达),实现起来颇为困难,且不熟悉数论相关知识。我尝试后仍无头绪,最后无果而终。
- C题:构造长度为的数组,使任意个数的乘积均大于剩余个数的乘积。花了半小时左右,终于找到了解决思路。
- D题:判定类问题。一开始想复杂了,后来意识到可以用简单的贪心策略和线性处理,最终顺利解决。
后面的题目难度较大,当时没能想到合理方法。赛后回顾,E题为拓扑排序,F题与动态规划相关,其余题目则超出我的能力范围。
最终,我在决赛中只解出了三道题。之后的讲题环节和颁奖仪式中,我一度以为3题即可拿奖,最终排名解封后发现自己与三等奖失之交臂,因罚时较长,仅有两名之差。不过这次比赛让我看到了进步与不足,也明确了未来努力的方向。希望明年能取得更好的成绩。

本博客所有文章除特别声明外,均采用 CC BY-SA 4.0 许可协议。转载请注明来源 空鸣深语!
评论