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