第1页共6页编号:时间:2021年x月x日书山有路勤为径,学海无涯苦作舟页码:第1页共6页消防站解题报告广东中山纪念中学陈启峰【问题描述】Z国有n个城市,从1到n给这些城市编号
城市之间连着高速公路,并且每两个城市之间有且只有一条通路
不同的高速公路可能有不同的长度
最近Z国经常发生火灾,所以当地政府决定在某些城市修建一些消防站
在城市k修建一个消防站须要花费大小为W(k)的费用
函数W对于不同的城市可能有不同的取值
如果在城市k没有消防站,那么它到离它最近的消防站的距离不能超过D(k)
每个城市在不超过距离D(这个城市)的前提下,必须选择最近的消防站作为负责站
函数D对于不同的城市可能有不同的取值
为了节省钱,当地政府希望你用最少的总费用修建一些消防站,并且使得这些消防站满足上述的要求
【问题分析】【数学模型】首先,以n个城市为结点、高速公路为边,高速公路长为边权构造成一个图
由性质“每两个城市之间有且只有一条通路”可知这个图是一棵树
令dis(i,j)为结点i和结点j之间的距离
任务是找出一个01序列X1,X2,X3
Xn,使得对于1≤i≤n,都有min{dis(i,j)|Xj=1}≤D(i)并且使得目标函数Z=∑i=1nXi×W(i)第2页共6页第1页共6页编号:时间:2021年x月x日书山有路勤为径,学海无涯苦作舟页码:第2页共6页最小化
【算法模型分析】由于这题涉及到距离和图论等方面,便可猜想这是一道用图论算法解决的问题
可是在尝试过许多图论算法之后却发现这种猜想是走不通的
这时就要充分地利用问题的特殊性
我们知道这图是一棵树,并且这题是求目标函数最小化的问题
根据这些特性,我们基本上可以肯定这题的算法是树型动态规划
【确定动态规划时的矛盾】用动态规划算法解题首先要做的是确定好状态,这应该是不容置疑的,因为状态表示是动态规划中的重中之重
一般地,树型动态