\(n\)個人,每個人有乙個親密值\(v_\)和等待時間\(t_\),每個人的花費是前面所有人包括自己的等待時間和乘親密值,求所有人花費的最小值
\(0 < n < 100000\)
\(0 \leq v_,t_ \leq 10000\)
考慮有兩個人\(i,j\)的情況
展開後分別是
去掉相同項\(v_ · t_ + v_ · t_\)後為
如果\(v_ · t_ < v_ · t_\)
即\(\frac}} < \frac}}\)
可以得到比值大的在前面得到的總花費最小
#includeusing namespace std;
#define rep(i,a,n) for(int i=a;it.v;
return val>t.val;
}}e[n];
int main( )
sort(e+1,e+n+1);
rep(i,1,n+1)
printf("%lld\n",sum);
return 0;
}
P5104 紅包發紅包
題目的意思是給你乙個 w 元的紅包,第 i 個搶的人的錢數是從0到剩下的錢中隨機的乙個數。然後叫你求第 k 個人搶到錢的期望。顯然答案就是 frac 套上有理數取膜的模板即可求到答案了。注意 這裡的 2 k 不能用1左移,畢竟 k 辣麼大。k 不是小於10啊!看清題目!includeusing st...
Python 簡易發紅包程式
1 固定人數 import random money 100 for i in range 1,10 限制人數 a random.randint 1,10 隨機生成1到10元 money money a print 第 str i 個人,收到 str a 元,剩餘 str money 元 執行結果 ...
PHP 版 群發紅包演算法
面試中的乙個問題,當時在紙上用偽 描述了下實現的原理.回來後用 實現了下.有不完善或需要改進的地方,歡迎拍磚 fwrite stdout,請輸入紅包金額 money fgets stdin 0 if is numeric money money 0.01 echo 紅包金額為 money n fwr...