找零錢——貪心

來源:互聯網
上載者:User

標籤:要求   size   nbsp   沒有   特性   替換   span   font   題解   

找零錢
? 有 100 元、50 元、20 元、10 元、5 元和 1 元這些面值的錢
? 求湊出 ?? 元的最多張數和最少張數,要求第 ?? 種面值的錢不能用
超過 ???? 張
? 多組詢問,?? ≤ 10^5, ????, ?? ≤ 10^9

題解:

其實我們只要知道最少張數即可。

最大=湊出∑ai-x的最小方案數。max=n-min

發現,如果沒有20,那麼剩下的100/50/10/5/1成倍數關係可以直接貪心

如果有了20怎麼辦?

那麼,20能用幾張呢?

是否可以被50替換呢?

50*2=20*5

所以,如果最終的方案中,用了至少5張20,還剩下至少兩張50,那麼這一定不是最優的

所以,最終的方案必須滿足如下的兩個特性之一:

1.用的20<5

2.剩的50<2

可以2*5=10次枚舉。

20和50的張數已經確定的話,直接貪心選擇100/10/1即可。

 

找零錢——貪心

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.