PHP按时间分的活动算法,php – 区间调度算法或活动选择算法

我在这个问题上苦苦挣扎了这么久.

有n个人想在酒店住一个房间.每个人都想在自己方便的时间住在酒店,但一次只能住一个人.假设房间从早上5点到晚上11点可用.酒店经理每人入住该房间需要500卢比.一个人呆在那个房间多久并不重要.我们必须最大化经理的利润.让我们说n = 4,即四个人想要相同的房间.让我们说第一个人从早上6点到早上8点想要房间,第二个人从早上7点到早上8点想要房间,第三个人从上午8点到下午12点想要房间,第4个人从上午11点到下午1点想要房间.

通过观察上图,我们可以很容易地看到经理最多只能容纳两个人(第1和第3或第1和第4或第2和第3或第2和第4).因此,他可以获得的最大利润是500 500 = 1000卢比.所以我们必须实现一个可以找到最大利润值的算法.假设人们只想在凌晨5点到晚上11点之间的房间,并且每个人在多个小时内想要房间.

输入说明:

{#,#,…………,#}

输出说明:

产出应该是最大利润值.

对于问题中考虑的示例,输出为2000.

例:

输入:{6 AM #8AM,11AM#1PM,7AM#3PM,7AM #10AM,10AM#12PM,PM#4PM,PM#4PM,8AM #9AM}

输出:

2000

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值