*本文作者 罗勇军,来自公众号罗勇军算法竞赛。
为什么要做杂题
大一同学现在正在学编程语言吧?C/C++、Python、Java。
语法掌握了吗,做了一些编程题目吗?编程让你烦恼还是让你兴奋?
初学者想提高编码能力、建立计算思维,在起步阶段应该做什么编程题?
蓝桥杯有20%的题目,刚学了编程语言的同学也能做,即使他还不懂什么数据结构、算法这些高深知识。
这种题目称为“ 杂题(Ad Hoc)”。
所谓杂题,就是不能归类为某个经典算法知识点或数据结构知识点的题目。
注意杂题的代码也是有算法的,只是很难归类。简单地说,杂题的求解不能或不需要套用现成的算法和数据结构,理论上只要学过编程语言就能做,考核思维、逻辑、编码能力。
杂题有 模拟题、构造题、思维题、找规律题等,这些题可能比较简单,也可能比较难。
通过大量练习杂题,提高编码能力,建立计算思维,并积累一些编程和建模的技巧。
杂题是算法竞赛必备的题型。除了蓝桥杯,ICPC、CCPC也大量考核杂题。
在蓝桥杯中,杂题尤其重要,因为很多题目都能当成杂题来做:
(1)纯粹的杂题,不需要用什么算法。
(2)很多题的100%得分需要算法, 30%得分可以用杂题的做法来做。
《蓝桥杯算法入门》书的例题请大家自己学习。如果没有书,下面的题目就是书上的例题。由于是印在书上,不能选太简单的题,这些题有点难度。
油漆面积
https://www.lanqiao.cn/problems/ 105/learning/
105是题目的题号,下面的题目都用题号表示。
整数删除3515,用模拟法通过20%的测试。
翻转货币3509,暴力法通过30%的测试。
矩形拼接2154,一道构造题,编码有些繁琐。
蜂巢2134,有点思维的杂题。
杂题练习
别等了,现在就来练习杂题吧!
蓝桥题库:
https://www.lanqiao.cn/problems/
在“ 标签”里找“ 基础算法”,然后选“ 二进制、位运算、思维、暴力、构造、规律、进制转换”,都是杂题。
我帮大家选了一些杂题,初学者都能做。数字 是题目在蓝桥题库中的题号。
我按难度分了3部分,如果不会,可看题库题解,或找同学讨论:
------------------------
好数19709、新式原子反应8259、小L的多项式求值、简简单单的暴力题 3929、不高兴的津津569、立春后不连休 18427、数位和相等7936、小豆豆的进制转换8147、6个0题号2296、rgb颜色转十六进制颜色、字母数 2406、时间显示1452。
------------------------
游戏专家4765、 小蓝拆数字3902、大衣的异或回文对 3845、绝地求生3758、寻找至宝的奥秘12043、小蓝的战斗计划 12048、数字王国之配对3863、聪明的小依3897、小浩的国际象棋4177、大衣分纸张4433、小郑选糖果4510。
------------------------
小郑吃饼干 4251、小沸的魔法烟花4180、麻衣的糖果平衡4437、小郑下五子棋3901、小郑快乐调酒3918 、大衣使AB相等4389。
------------------------