zoukankan      html  css  js  c++  java
  • POJ 2976(二分搜索+最大化平均值)

    传送门

    •参考资料

      [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

      POJ2976.cpp

    •有感而发

      太晚了,身心疲惫,如果明天有空的话,再写上自己对于此题的理解吧,真是个充实愉快的一天啊。

      对了,今天是我们学校70周年校庆,校庆再图书馆前的广场举行,声音震天响;

      听着外面的热闹声,在和我一个人奋斗相对比,心中难免有些没落,自己选择的ACM,再苦再难也要扛着。

      莫名地想到,下一个校庆,我会以何种身份出现在学校呢?

                                      2018.10.17  21:54

  • 相关阅读:
    AJAX 后台返回多种数据
    oracle 学习摘录
    JAVA中使用FTPClient上传下载
    struts 2 学习
    js 回车事件
    @Resource和@Autowired作用和区别
    spring 常用注解
    正则表达式
    javascript 学习教程
    cxf 发布 一个简单的 webservice
  • 原文地址:https://www.cnblogs.com/violet-acmer/p/9807411.html
Copyright © 2011-2022 走看看