去年参加了第九届蓝桥杯比赛,十个题做出来五个,对错不知,反正水了个省二,感觉自己做的不是很好。所以今年又参加了第十届,想拿个省一,再去国赛体验一下。在这之前,准备的有半个月的时间,每天就是刷历届的赛题,明天就要比赛了,就想着在这总结一下。
省赛赛题题型:3~4道结果填空、2道代码填空、4道代码编写。
对于菜菜的我来说,蓝桥杯赛题的主要题型只有搜索,不过这个搜索不是一般的搜索,它同时还可能结合排列、组合、递归、回溯、路径搜索(广搜、深搜)算法等等,最多也就这几种。没有什么是for循环暴力枚举解决不了的,不过这是最基本的做法,效率很低,很容易超时,所以很不提倡,如果有其他方法尽量避开嵌套for循环。
然后就是在搜索的过程中,筛选符合条件的数、累加求和、取位数、比大小、交换位置等等。
重点掌握:全排列、组合、递归、回溯、for循环(边循环、边筛选)、二维数组(矩阵法)、字符串操作、还有一些基本数学概念及算法实现等等。
我常用的解题步骤:
哈哈哈,这个步骤好像没啥卵用,主要就是 第二步 的实现,得根据经验来算法匹配。就只能这样说。。。
递归与回溯的区别:
递归:是指在定义自身的同时又出现了对自身的调用。
回溯:实际上是一个类似枚举的搜索尝试过程,主要是在搜索尝试过程中寻找问题的解,当发现已不满足求解条件时,就“回溯”返回,尝试别的路径。(简言之,就是在包含问题所有解的解空间中,按照深度优先的策略,从根结点出发搜索解空间)
***************************************** 结束喽!* _ * ************************************************