\(n\)個怪獸,每個怪獸有\(hp\)血量和\(atk\)攻擊值,每一秒英雄都會受到所有存活怪獸的攻擊,英雄攻擊每個怪獸的傷害等於攻擊當前怪獸的次數,第一次攻擊第i個怪獸的傷害為\(1\),第二次為\(2\),計算英雄殺光所有怪獸後承受的最小攻擊
\(t:10^\)
\(n:(1,10^)\)
所有測試資料的\(n\)的和\(<10^\)
\(1\leq hp,atk \leq 10^\)
總體思想:先搞死傷害高的
\(n\)個怪獸每個怪獸最大都是\(10^\),總和會爆int,使用long long
將每個怪獸的存活時間計算出,計算出它的平均傷害
按照平均傷害為第一關鍵字,攻擊值為第二關鍵字從大到小排序
比值排序有精度誤差 ,可以改成這樣: $\frac > \frac = a\times d > b\times c $
#pragma gcc optimize(3,"ofast","inline")
#include #define ll long long
using namespace std;
const int n=1e5+10;
struct monstermon[n];
inline ll alive(ll x)
}return tim;
}inline bool cmp(struct monster a,struct monster b)
int main()
ll hurt=0;
sort(mon+1,mon+n+1,cmp);
for (int i = 1; i <=n ; ++i)
cout<<"case #"<}
return 0;
}
比值排序 奎奎發紅包
n 個人,每個人有乙個親密值 v 和等待時間 t 每個人的花費是前面所有人包括自己的等待時間和乘親密值,求所有人花費的最小值 0 n 100000 0 leq v t leq 10000 考慮有兩個人 i,j 的情況 展開後分別是 去掉相同項 v t v t 後為 如果 v t v t 即 frac...
Enum列舉型別比值
在編碼時,兩個enum例項,直接用 就可以比較它們的值了,而不是比較這兩個object的位址。這顯然和通常的object不一樣。而且,在jdk7之後,列舉還能用在switch case開關語句中。enum不是primitive型別,卻可以用 比較,這是為什麼呢?enum本身可以是多例項的,關鍵在於,...
12 奇妙的比值
明明喜歡鑽研各種各樣的數學問題。一天,明明對數的因子產生了興趣,他想把乙個數的所有因子都找出來,然後把它們相加再去除以這個數,這樣會得到乙個比值。明明想看看不同的數的該比值會有什麼不同,以便做研究。例如6這個數,它一共有4個因子,分別是 1 2 3 6,把他們相加然後再除以6,即1 2 3 6 12...