【动态规划】邮局选址问题

题目:

有一条公路经过V个村庄,每一个村庄都处在整数的坐标点上(这里假设公路为数轴)。规划在这条公路上建立P个邮局,每一个邮局都要建在某个村庄上,要求让不同村庄的人到邮局要走的总路程最小。


分析:

用动态规划的办法,先把输入的村庄排序,然后计算只有一个邮局的情况,然后再根据已有的信息,计算p(p>=2)个邮局时的选址分布,其中p从小到大计算。


class addr_info
{
public:
	int dis;
	int behind;
	addr_info() :dis(0), behind(0){}
};


class PostSite
{
public:
	vector<vector<int>> postsite;//只有一个邮局时,两个村庄之间的选址位置
	vector<vector<int>> distance;//两点之间只有一个邮局时,所有村庄要走的距离之和
	vector<vector<addr_info>> totaldis;//
	int size;//村庄的数目

	//假设输入的村庄坐标是大于等于零的整数
	vector<int> main_function(vector<
  • 3
    点赞
  • 9
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值