繁体   English   中英

为房屋上色的最低成本?

[英]Minimum cost for colouring the house?

我遇到以下问题

连续有N座房屋。 每个房屋都可以涂成红色,绿色或蓝色。 用每种颜色给每个房屋上色的成本是不同的。 找到每个房屋的颜色,以使没有两个相邻的房屋具有相同的颜色,并且为所有房屋着色的总成本最低。

这是完整的问题

在我看来,这个问题有点令人困惑,因为目标是最小化成本并确保相邻的房屋没有相同的颜色。 在那种情况下,我不应该从成本最低的三种颜色中选择两种。

说这里是色彩的代价

  1. 红色$ 100
  2. 绿色$ 200
  3. 蓝色$ 300

我有五排房子要油漆

这将是我的算法

  1. 选择红色和绿色,因为它们的成本最低
  2. 计算5%2。

    如果5%2 == 1,则从最后开始,选择最后一个房子的颜色为Red($ 100)。 现在选择替代颜色

    如果5%2 == 0,则从头开始并选择其他颜色

“房屋的三色” NP吗? 建议使用动态编程,但是我不确定我的方法有什么问题,为什么这里需要动态编程?

(大概)这是一个家庭作业问题。 我认为其目的是教您实现贪婪算法:

  1. 用最便宜的颜色(“红色”)油漆第一所房子。
  2. 使用最便宜的颜色粉刷下一座房子。

第二个将在“红色”和“绿色”之间切换,但是您不必预先选择颜色。

如果我要分配此问题,那么下一个问题将是“并且假设您只为一个红房子准备了足够的油漆,请解决此问题”。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM