2018宁夏邀请赛/2019宁夏网络赛 Fight Against Monsters - 贪心

有关的梗请移步某乎。真·百度之星

铜牌题,给nn个怪,每个怪需要打bib_i轮才能打死,在没被打死之前,每轮释放aia_i的伤害。求释放的最小伤害。

考虑两个怪,先打怪兽1:b1ai+b2(aia1)b_1*\sum a_i +b_2*(\sum a_i -a_1)
先打怪兽2,受到的伤害:b2ai+b1(aia2)b_2*\sum a_i +b_1*(\sum a_i -a_2)
若考虑伤害最小
b1ai+b2(aia1)<b2ai+b1(aia2)b_1*\sum a_i +b_2*(\sum a_i -a_1) < b_2*\sum a_i +b_1*(\sum a_i -a_2)
b1a2<b2a1\Rightarrow b_1*a_2 < b_2*a_1
直接将biai\dfrac{b_i}{a_i}排序可能会有精度问题,建议重载运算符后用优先队列实现。

posted @ 2019-08-31 19:48  Mr.doublerun  阅读(16)  评论(0)    收藏  举报