紧接着,钱峰在黑板上快速的写下一道题目。
【在8×8的西洋棋棋盘上放置若干个「车」,使得:
1.每个格子至少被一个车控制(车可横向或纵向攻击);
2.任何两个车互不攻击。
【写到这里我希望读者记一下我们域名台湾小说网藏书多,???α?.?σ?任你读】
求最少需要多少个车?证明你的结论。】
这道题目的结果并不难得出,徐晓也是略微的思考了一会儿,就知道最少应该8个车,每个车放在主对角线上就可以了。
不过想要准确的证明出这个结论,并没有想像中的那么容易。
正在徐晓思考着要如何证明的时候,只见前排的一名学生说道:
「用贪心算法很容易得出,至少8个车就可以了。证明的话,我们假设可以放k个车,这个k是小于8的正整数,这样就会同时剩下8-k行和8-k列没有车……」
听着这个同学的证明思路,徐晓也是一副恍然大悟的样子。
这个同学采取的思路是反证法,如果假设成立,那么就会存在至少一个没有任何车控制的格子,从而与假设矛盾。
如果给徐晓足够多的时间,他也许也能想到同样的方法,但绝对没法有这么快的思考速度。
「这就是竞赛生的实力吗?真是强得有些可怕了。」
哪怕徐晓已经在全神贯注的思考了,似乎还是要跟他们差出了一些。
「何慕舟同学说得很好,这个思路是完全正确的。」
得到钱峰的表扬,何慕舟的脸上却没有什么高兴的表情,似乎对此早就习以为常了。
作为本届育才数竞队实力最强的学生之一,何慕舟几乎已经锁定了一个竞赛的参赛名额,甚至未来进入省队也是有很大希望的。
昨天钱峰布置的那些题目,除了一道非常难的之外,其他何慕舟全都做对了。
而另一边,徐晓的思维依然留在了上一道题目上。
「其实这种题目,用代码的方法也是可以做出来的。」
作为前世的程式设计师,用代码解决问题算是徐晓的职业习惯了。
像这种相对简单的问题,用代码似乎有些没有必要,但代码的好处就是具有较强的推广性,哪怕问题变得复杂,也同样可以使用类似的代码去解决。
只是高中数竞应该是不允许使用计算机的,这让徐晓的这项技能就显得有些没有用武之地了。
「当然,像刚才那道西洋棋的题目,我们也可以继续进行推广,比如说把车换成象丶马,或是皇后等等。
「因为这些问题的计算量太大,大家回去思考一下建模思路就可以,不需要计算出具体的结果。」
何慕舟当场便思考了起来,这其中,把车换成象的问题,相对来说要比较容易思考一些。
之前的车是横竖移动,可以使用二分图匹配的思路进行建模,而象沿斜线移动,同样可以用二分图的思路,只是需要再格外区分一下黑白格。
可是当把棋子换成皇后的话,问题就马上变得完全不同了。
因为皇后是既可以横竖移动,又可以沿斜线移动,这让问题的复杂程度直接提升了不只一个数量级。
思考了一会儿,何慕舟还是不得不将这些问题暂时搁置下来。
而另一边,徐晓已经在草稿纸上写出了每种问题的处理思路。
「皇后问题可以用算法思维逼近,写一个DFS搜索程序,再用剪枝优化就可以了。」
「马的话,就用图论着色的建模方式,属于四色定理的变体,代码应该也不难写。」
只可惜自己手头并没有电脑,要不然徐晓分分钟就能把这些问题都给算出来。
接下来的课程,徐晓基本上都能听得大差不差,能够跟得上钱峰的节奏。
虽然徐晓自认为自己的天赋一般,但至少在专注状态下,他还不至于被这些竞赛生给拉开差距。
这个时候,钱峰又在黑板上写下一道新的题目。
【设S是{1,2,...,2005}的一个子集,且S中任意两个不同的元素之和不被9整除。求S的最大可能元素个数。】
「这是一道竞赛原题,大家先看一下题,然后我讲一下解题思路。」