最小开支 - 美妙的贪心

发布时间:2022-09-07 14:17:03
贴主:易向以归宁
热度:5
正在讨论:P1912 - 最小开支 题目传送门

易向以归宁 2022-09-07

题意不难理解,一群人去开房,求最小开支。

我们可以从两个角度出发:

一、尽可能选性价比高的房型,即人均价格较低那款,于是我们可以得到以下两种方案:

    1)全部选择双人房(当双人房的性价比远高于三人房时,最优)

    2)全部选择三人房(当的三人房性价比远高于双人房时,最优)

二、尽可能的把每个房间都住满,因为当两种房型的性价比没有绝对优势时,房间的空位就会造成“损失”;

为了让每个房间都住满,我们可以通过拆房的方式来完成;

当然我们的大前提还是基于尽可能选性价比高的房型,所以此时又会出现以下几种情况:

    1)双人房的性价比高,但最后一个房只有 1 个人,此时,拆掉 1 个双人房,拼凑 1 个三人房

    2)三人房的性价比高,但最后一个房只有 1 个人,此时,拆掉 1 个三人房,拼凑 2 个双人房

    3)三人房的性价比高,但最后一个房只有 2 个人,此时,把最后这个房替换成双人房

综合以上五点我们可以发现,我们的最优方案一定会在其中;

所以我们可以分别求出它们对应的价格,然后取一个最小值。

当然,这题卡了一个 long long,要注意这个细节。

(2)

易向以归宁 2022-09-07

给出两组测试数据,可以先手算一下最小值,然后再看看自己的程序跑出来跟手算的是否一样。

7 5 9

13 3 4

(1)

Copyright 2016 - 2024 XUJC ACM Team
闽ICP备2020022076号-1