第16届蓝桥杯C语言B组省赛赛后总结

2025年4月30日

        从去年的11月份开始准备。刚开始刷题的时候,是从leetcode开始刷的题目。但是实在是太难了,很打击信心。所以我就开始转战洛谷和C语言网。难度小了很多,我本来准备在蓝桥杯官方网站买课,后来在B站里面找到了资源,但是根本听不进去。所以索性就直接刷题了。我刷题的步骤是先从几个大块去刷题。主要从一下几个板块去刷:动态规划,贪心,排列组合,深度/广度搜索,暴力枚举,递归,递推,回溯法,分治法。主要就是这几个板块去刷题。刷题真的很提升思维,我看到了各种各样抽象的题目,也看到了很多民间高手惊人的思维方式。在这个过程中,我对算法的认识更加深入。
        因为是第一次参加算法比赛,所以心里没有底,因为我平时在图书馆一坐坐一天的时候,大脑真的会麻,而且蓝桥杯比赛时间就是4个小时,我也怕比赛那天有些知识点会想不起来,所以我先学的就是暴力。果不其然比赛那天我确实只有前几道编程是用了一些dp和其他的知识点,剩下的全是在那for for for ,哈哈哈。我们辽宁省有985,211和一些计算机强校,所以压力也不小。比赛获奖pdf出来的时候,我看到我在获奖名单上面的时候,我如释重负,努力没有白费。
下面是我的此次比赛具体过程  

下面是第一题 

第一题,说实话,当时我旁边的那个男生看到题目的时候,就已经在写敲键盘了,但是我没把这道题目当成编程题目,我把它看成一道数学题。我先在草纸上面把坐标轴画了出来,画出来之后我就已经有了想法,小明按照题目的说法走路,最小的移动距离就是一个正方向的X轴移动距离再加上一个弧长,难就难在这个弧长怎么求?我刚开始想了弧长的公式,发现解题的核心就在这个弧所对应的角度数,然后就可以解题了。 

第二题 

这道题我思考了很久,最后一点思路都没有,但是我根据刷题经验,发现了一些端倪。在题目的最后,给出了取余后的结果。我当时就在想,这个题本身就是让我们求有多少种可能。那么这个最终的答案肯定不会太小,而且还极有可能很大。当时我的心态就是尝试赌一下,把一个小一点的数写上去。所以我最后写的是7,虽然和答案不一样,但是我的思考方式对了。

第三题

  

这道题目不难发现,−1,0,1 三个数之和为 0,−2,−1,0,1,2 五个数之和也为 0。在这样的序列后面加一个数 x,该序列的和就为 x。因此除了 1 之外的任意正整数都是可分解的。边输入边判断即可。所以这个题目我还可以应对一下。

第四题 

 当时我来到第四题的时候已经挺不住了,因为前三道题目就已经耗时1个多小时,大脑果然开始麻了,但是我还是能分析一下,由于每次是取平均,三个数会趋近于相同。当三个数相同之后,显然后面的全部操作都是无用的,三个数都不会有变化。因此在三个数相同之后,直接退出模拟,直接输出即可。这个我能分析出来,但是代码我遇到了问题,我写不出来具体的东西,这个思路我能想出来,但是代码我真的写不出来,但是Dev-C++一直出现报错,搞得我很焦灼,一时半会还解决不了,所以我索性就直接用暴力去写了,但是暴力运行之后,总是缺少几种情况,这几种就让我AC不了,我最后就只能拿几分。

第五题

第六题 

第七题 

第八题 

  

当我答第五题题的时候,时间已经过去2个多小时了,而且最难受的是,身边的一些高年级的学长,手里的键盘就没停下来,一直在敲,反正挺搞人心态的。再加上我越往后面几道题走,越觉得困难。实在是不知道怎么办的时候,就坐在座位上面傻待着。然后大概缓和了半个小时,这个时候已经距离考试结束还有40多分钟,我还是解决不了最后三个题,就是属于暴力都暴不出来的那种,不知道该怎么往里面套,挺难受的,当时就是想多拿几分,万一能冲击更高的奖,那不是更好。

        待了大概3个小时50分钟,实在是没思路了,直接提交答案,离开考场。

        这次蓝桥杯使我进步很多,假如不参加这次比赛,我可能都不会碰算法,我也不会感受算法的乐趣,我也不会有这么大的进步。这次比赛暂时告一段落,我还是要坚持学习算法。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值