c++|2022十三届蓝桥杯体验

因为比赛的时候没有保存代码,,所以就简单描述一下自己在本次比赛的想法
c++|2022十三届蓝桥杯体验
文章图片

【c++|2022十三届蓝桥杯体验】 第一题就是简单的签到题,九进制转化为十进制,话说原来蓝桥杯比赛页面还有计算器可以用,以防万一我也是把第一题算了三四遍。
c++|2022十三届蓝桥杯体验
文章图片

第二题的争议太大了,我没有考虑0的情况,所以写的4,还有很多人考虑了逆序的情况,可是题目说了210那个没有顺子,所以问题就在有没有0喽,可能这题争议这么大,到时候含0和不含0的答案都对吧。盲猜对的
c++|2022十三届蓝桥杯体验
文章图片

第三题我就是先用n/(5*a+2*b)算出完整的星期数,再用一天天加过去直到算出来结果,算是签到题吧。
c++|2022十三届蓝桥杯体验
文章图片
第四题也是挺简单的,就是算该位置到边边再回来的距离,这样树就能长最高喽。对1<=i<=n,
a [ i ] = max ( ( i - 1 ) * 2 , ( n - i ) * 2 )

c++|2022十三届蓝桥杯体验
文章图片

这道题我开了三个数组a,b,c,分别存A和B的各个位数上的数和各个位的进制,题目给了最小位和最大位的进制,其实最大位的进制好像也用不到? 中间部分的进制当然就是
c [ i ] = max (a[i]+1,b[i]+1),然后分别计算A和B的十进制数前,还要让第i位的进制等于前面所有进制的乘积,比如对二进制100转十进制而言,第三位的1应该乘以2*2,即4,所以以此更新c中的进制乘数。
我对这道题的疑惑就是,题目说A和B的进制都是相同的,但是又说N时A和B的最大位的进制,如果A的位数比B的位数大的话,比如A : 123,B:56,N:2进制应该为2,6,7,,,所以B的N进制位上的数是0,所以计算B的十进制时只用算前两位就行了。应该是对的吧。hope~
c++|2022十三届蓝桥杯体验
文章图片

矩阵这道题一看就是一道比较经典的题目,不过我刷题还是太少了没做过,比赛的时候想到了前缀和,但是我寻思着前缀和求出来也不知道干什么,就纯暴力套for了,样例应该能过30-40吧,最大样例m和n也有500,暴力必死,寄了算是,能拿几个样例分。
c++|2022十三届蓝桥杯体验
文章图片

这个拼图害,真不会,赛后他们说这也是道原题,网上搜得到,比赛的时候想打表,结果当n=5的时候就打不出来了,真的在这道题上花了好多的时间,最后还是草草了事,在n>=5之后,我乱写的卡特兰数,必然错的,拿个题目的样例分吧呜呜
c++|2022十三届蓝桥杯体验
文章图片

这道题可以用并查集来使互相能炸到的炸弹放同一个集合里,比赛的时候用数组bom来记录每个炸弹是否爆炸,套用了两层for来用p[]数组记录每个炸弹能波及爆炸的炸弹下标,然后再对每个排雷火箭与每个炸弹距离和爆炸范围比较,如果在范围内就使p数组内的各个下标bom[i]=1,最后再求出bom内为1的炸弹数量,我只用过了题目样例和自己写的一个简单样例,其他样例还没试过,应该不会TLE或RE吧,也不知道拿几分
c++|2022十三届蓝桥杯体验
文章图片

想过dfs,但是比赛的时候想着去搞矩阵和拼图图,敲了个样例就跑路了,不会。
这次比赛马马虎虎吧,第一次参加的省赛,和历年的题目相比,蓝桥杯B不再是往年的暴力杯了,好像A组也都是数论图论,没有以前的味道了,B组题目也是含蓄不清的,应该是为了防作弊所以填空题的个数只有两个了,反正这次是寄了,省二我觉得都有点悬,勉强拿个省三回点本钱吧,下一年多学点算法再战。

    推荐阅读