油漆工刷板问题The painter’s partition Problem(Python 实现)

该博客讨论了油漆工刷板问题,即如何在最短时间内完成n块板的涂漆工作,给定k个工人,每个工人每小时刷1米。文章提供了问题的背景、约束条件,并给出了不同情况的例子。最后,博主分享了使用Python实现该问题的解决方案,将原本的C++和JAVA代码转换为Python,使得代码更加简洁。
摘要由CSDN通过智能技术生成

问题描述:如果你有n块板,和K个油漆工人,求最短时间刷完所有板

前提:

一块板只能有一个工人刷

工人必须连号刷,不能跳跃板刷,比如5块板,可以1,2,3 刷,也可以3,4,5 刷,但是不能1,2,4刷

 

列如:

我有4块板,每块长1米,我有一个工人,每小时刷1米,那么最短时间刷完要4个小时(连着1,2,3,4);

我有4块板,每块长1米,我有二个工人,每人每小时刷1米,那么最短时间刷完要2个小时(工人甲刷1,2;工人乙刷3,4);

我有4块板,每块长1米,我有三个工人,每人每小时刷1米,那么最短时间刷完要2个小时(工人甲刷1;工人乙刷3;工人丙刷3,4;很明显,因为不能两人同时刷一块板也不能跳着刷,所以还是得花2个小时);

 

我有4块板,长度分别为1,2,3,4米,我有一个工人,每小时刷1米,那么最短时间刷完要10个小时(连着1,2,3,4);

我有4块板,长度分别为1,2,3,4米,我有二个工人,每人每小时刷1米,那么最短时间刷完要6个小时(工人甲刷1,2,3;工人乙刷4;瓶颈在工人甲这里,换来换去没有用,不能跳着刷也不能一起刷);

我有4块板,长度分别为1,2,3,4米࿰

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值