- 1
- 0
- 约1.9万字
- 约 9页
- 2016-08-26 发布于贵州
- 举报
算法合集之《数学思助你一臂之力》
数学思想助你一臂之力
复旦大学附属中学
邵烜程
[关键字]
数学思想、 构造算法
[摘要]
数学和计算机原本就是密不可分的学科。有许多计算机编程问题如果不利用数学思想则很难甚至无法达到预期的效果。
如果把问题和编程实现看成是河的两岸,那么数学思想就是连接河两岸的一座桥梁,有了这座桥,从河的一岸到另一岸便不再是件难事了。
有些问题,利用这座桥可以更方便地往返于河两岸,而还有一些问题,如果不利用这座桥,可能根本无法到达河对岸。也就是说,有些问题利用数学思想可以走捷径(例如NOI2002的“荒岛野人”),而还有一些问题,如果不利用数学思想,就根本无法解决(例如NOI2002的“机器人M号”)。我们将从四个方面探讨利用数学思想提高算法效率,简化问题的例子:
一.利用数学思想直接找出解的一般规律。
有些问题,如果直接用动态规划或是图论的方法来解决效率可能会并不理想。这时,我们首先应该想到的是优化,而如果优化无法达到预期的效果,那我们只有重新寻找算法了。于是,我们就试图找出问题的一般规律、或是该问题所用到的一个小问题的一般规律,这样,时间效率将会大大提高。
我们首先来看一个直接找出原问题的一般规律的例子——
例题一 最优分解方案
把正整数N分解成若干个互不相等的自然数的和,且使这些自然数的乘积最大。
[输入]
只有一行,包括数N
原创力文档

文档评论(0)