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

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

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

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

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