当前位置: 首页 > 知识库问答 >
问题:

给房子上色的最低费用是多少?

从智明
2023-03-14

我遇到了下面的问题

一排有N栋房子。每栋房子都可以漆成红色、绿色或蓝色。每种颜色给每间房子上色的成本是不同的。找到每栋房子的颜色,这样相邻的两栋房子就不会有相同的颜色,所有房子的着色总成本最低。

这是完整的问题

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

这里是颜色的成本

  1. 红色100美元

我有5排房子要粉刷

这是我的算法

>

如果5%2==1,则从最后开始,选择最后一栋房子的颜色为红色($100)。现在选择另一种颜色

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

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

共有1个答案

子车安和
2023-03-14

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

  1. 用最便宜的颜色(“红色”)粉刷第一栋房子
  2. 用最便宜的颜色粉刷下一栋房子

第二种颜色在“红色”和“绿色”之间交替,但你不必事先选择颜色。

如果我分配这个问题,下一个问题将是“假设你只有足够的油漆建造一栋红色的房子”。

 类似资料:
  • 有一个大小为N x M的网格,有些单元是岛,用“0”表示,其他的是水。每个水电池上都有一个数字,表示在该电池上做桥的成本。你必须找到所有岛屿都能连接起来的最小成本。如果一个单元格共享一条边或一个顶点,则该单元格与另一个单元格相连。 用什么算法可以解决这个问题?如果N,M的值很小,比如说NxM<=100,那么用什么作为蛮力方法呢? 示例:在给定的图像中,绿色单元格表示岛屿,蓝色单元格表示水,浅蓝色单

  • 问题内容: 我已经仔细阅读了JSON描述http://json.org/,但是我不确定我是否知道简单问题的答案。最小可能的有效JSON是什么字符串? 字符串是有效的JSON吗? 简单数字是有效的JSON吗? 布尔值是有效的JSON吗? 空对象是有效的JSON吗? 空数组是有效的JSON吗? 问题答案: 在撰写本文时,JSON仅在RFC4627中进行了描述。它(在“2”开头)将JSON文本描述为序列

  • 我正在用木偶制作器生成一个PDF文件。它自动生成一个PDF-1.4文件。然后,我使用dss用PAdES签名对其进行数字签名。结果文件可以在PDF查看器中打开,PDFStudio似乎可以正确解析文档签名。 然而,这是否有效?维基百科声明PDF/A-2(基于1.7)增加了对PAdES的支持。我是否需要生成至少PDF-1.7(或PDF/A-2)才能拥有具有有效签名的有效PDF文件? 注意:我在技术术语和

  • 我正在使用socket.io构建一个应用程序 我正在使用Socket.io的房间功能,用户可以订阅5个“主题”。该主题中广播的每个消息都有一个消息类型,其中有100个。用户将只接收他们允许接收的类型的消息,这可能在30到70之间。 我的问题是:为每个主题+消息类型组合创建一个房间是否可行,这将是5×100个房间?socket.io会像这样表现良好吗?还是有更好的方法来解决这个问题?向每个单独的套接

  • 我想在我的woocommerce商店中为低于特定金额(价值,而不是数量)的订单添加费用。 我使用的"WooCommerce动态最小订单金额为基础的费用"回答代码,完美的作品。 现在我试图改变这个功能,并将其仅应用于特定产品类别的项目。基本上,我要把购物车中所有与特定类别相匹配的产品的价值求和,并使用这个价值进行费用计算。 我怎样才能达到这个目标?

  • 蓝房子是一个轻量级的,关注于移动互联网的,易于集成的新式社区程序。 基于Symfony框架+PHP/PostgreSQL开发