POJ 2976(二分搜索+最大化平均值)
传送门
•参考资料
[1] : POJ 2976 Dropping tests 题解 《挑战程序设计竞赛》
[2] : POJ 2976 3111(二分-最大化平均值)
•题意
有 n 们课程,第 i 门课程的得分和总分分别为 ai 和 bi;
让你从中选出 n-k 门课程,使得 $100\cdot \frac{\sum_{i=1}^{n}a_i}{\sum_{i=1}^{n}b_i}$ 最大;
结果要求四舍五入;
•题解
二分答案;
对于某一答案 x,判断是否可以选出 n-k 门课程,使得 $100\cdot \frac{\sum_{i=1}^{n}a_i}{\sum_{i=1}^{n}b_i} \ge x$ 成立;
上述式子可以进一步转化一下:
$\begin{aligned} 100\cdot \frac{\sum_{i=1}^{n}a_i}{\sum_{i=1}^{n}b_i} \ge x \ &\Leftrightarrow \frac{\sum_{i=1}^{n}a_i}{\sum_{i=1}^{n}b_i} \ge \frac{x}{100}\\ &\Leftrightarrow \sum_{i=1}^{n}a_i \ge \frac{x}{100}\cdot \sum_{i=1}^{n}b_i
\\ &\Leftrightarrow \sum_{i=1}^{n}(a_i\ -\ \frac{x}{100}\cdot b_i) \ge 0\end{aligned}$那么,我们只需每次按照 $a_i\ -\ \frac{x}{100}\cdot b_i$ 排序取前 n-k 大并判断 x 是为否可行解即可;
•Code
•有感而发
太晚了,身心疲惫,如果明天有空的话,再写上自己对于此题的理解吧,真是个充实愉快的一天啊。
对了,今天是我们学校70周年校庆,校庆再图书馆前的广场举行,声音震天响;
听着外面的热闹声,在和我一个人奋斗相对比,心中难免有些没落,自己选择的ACM,再苦再难也要扛着。
莫名地想到,下一个校庆,我会以何种身份出现在学校呢?
2018.10.17 21:54