第五届蓝桥杯决赛做题报告

              第五届蓝桥杯决赛做题报告

此次比赛是我本人第一次参加全国性的编程比赛,比赛结果:全国c/c++ B组二等奖。做题情况:写了前5题,编程大题可能部分测试数据没过,最后一题,写了一个多小时,当时想到用宽搜,就一直写了下去,没有想其他的方法,结果,写完后题目给的测试数据都没过,此时比赛也接近了尾声。

下面就部分比赛试题详细的谈谈:

第一题,填空题,还是比较简单的,唯一令人纠结的就是周岁到底是怎么算的。我的算法直接就是2014减去出生年份。

第二题,填空题,一道数据结构题目,有一定难度,题目大意:16辆车进栈再出栈,栈无限深,求共有多少种方式。当时看到这题,我还暗自窃喜,刚好之前看过刘汝佳的《算法竞赛入门》里有相似的一道题,可是却忘得一干二净,后来搞了16层循环,还好是一题填空题,答案在2,3秒后才跳出来了。当时的主要想法就是:每进一次栈都会假设有一次出栈,出栈的个数可以不同(0<=num<=i),所有不同的方式就是题目要求的总数。第ifor循环:。赛后,看了下刘汝佳那本书,题目愿意是给出一种出栈方式让你判断是否符合要求,如果按这种方式,需要把16的全排列先打印,显然花费的时间更长。后来也听了一些写出来的同学用的是模拟的方式。

第三题,代码填空题,也是一道严蔚敏《数据结构》里的相似题目,字符串的KMP匹配,同样看了这题很激动,因为自己本身本科期间数据结构学的比较好,可是给出的代码里有一个很令人凌乱的东西,就是匹配函数有一行给出一个变量n并赋值,其他地方也没提到这个变量,后来就一直在这上面下功夫,始终出不来结果,烦躁之时去了一下厕所,回来后,根据自己直觉写了出来。

第四题,关灯熄灯问题,数据比较大,达到1016次方。当时初看以为要用到高精度,后来直接用了long long,对于给定的范围直接做一次遍历判断,可能有部分测试数据超时,当时也没有给它优化。赛后,听同去比赛的大神说可以用数学方式。

第五题,看上去比较复杂,细看比较简单,用了不到20分钟写完,实在想不出来有没有什么混淆人的地方,赛后和同学交流了一下,发现大家都是这样。由于没有oj实验,所以也不知道自己写的对还是不对。

第六题,算是一道比较难的题目,据说可以用动态规划,我自己想的是用宽搜,首先先找到一个合适的区域先标记,然后再向四周扩散,如果周围方块的价值减去还需建造的篱笆价值大于零,则将其算在内。然而该算法的正确性有待检验,当时给出的第一组测试数据没有通过。赛后想想,早知道放弃这一题,将前面的几题好好搞定。说不定会有更好的比赛结果。

总结此次比赛,结果还行,毕竟是第一次参加这种全国性的比赛,同时也更坚定了自己在算法道路上的不断追求。

                                 

                                             

                                               2014/6/5

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值