zoukankan      html  css  js  c++  java
  • A

    给定N个形如$f_i(x)=a_i*x^2+b_i*x$的二次函数

    有Q次询问每次给出一个$x$,求$max{f_i(x)}$

    再菜也只是菜这么一两天了

    过了这几天,奥赛就与我无关了

    可能退役之前最后一篇?

    观察到二次函数没有c

    二次函数可以转化成$x(a*x+b)$

    就可以分类讨论了,分成$x>0,x<0$

    只讨论$>0$($<0$同理)

    $>0$时按照$a$升序,$b$升序排序

    排序后,对于每一个值域预处理,回答时$O1$

    假设值域上两个值$x,x+1$

    $x$取到最大值为$mxid$,那么$x+1$取到最大值一定大于等于$mxid$

    证明

    $(x+1)*a+b=x*a+b+a$

    $a$排序后是单调递增的

    因为$mxid$之前a都$<=a_{mxid}$,本来就$<=mxid$现在增加量$<=mxid$

    所以可以链表乱搞

    复杂度$O(值域ln(值域))$

    复杂度证明

    经过去重之后

    假设最后一个值为$a_{mxid},b_{mxid}$

    极限情况就是一直跳$a_1$,最大是$a_1$

    会跳多少次解不等式

    $a_{lst}*x*x+b_{lst}*x>a_1*x*x+b_1*x$

    假设x>0

    $a_{lst}*x+b_{lst}>a_1*x+b_1$

    于是有了

    $x>frac{b_1-b_{lst}}{a_{lst}-a_1}$

    然后设分母为$delta_a$

    仍然考虑极限情况$delta_a$为$6e4$,

    $b_1-b_{lst}=6e4$

    n每次减少1

    于是复杂度就是$frac{6e4}{6e4}frac{6e4}{6e4-1},,,,,frac{6e4}{1}$

    调和级数$O(值域ln(值域))$

  • 相关阅读:
    navicat设置唯一
    H5图片防盗链处理
    jar包更新
    微信小程序开发工具“当前系统代理不是安全代理”
    Set和Map
    OSS先后上传相同地址的图片
    js遍历删除数组中不符合条件的元素
    SSL配置
    关于socket.io获取客户端真实IP地址
    请在微信客户端打开链接 html
  • 原文地址:https://www.cnblogs.com/znsbc-13/p/11854855.html
Copyright © 2011-2022 走看看