题目

给出 $n$ 个定义在区间 $[0, 1]$ 上的一次函数 $f_i(x) = a_ix+b_i$,定义两个函数的距离为:

$$dist(f,g) = \left(\max_{0\leq i\leq T} (f(i)-g(i))\right)^2 + \left(\min_{0\leq i\leq T}(f(i)-g(i))\right)^2$$

你现在要找一个一次函数 $g(x) = cx+d$,使得下面的值最小:

$$\max_{1\leq i\leq n} dist(f_i, g)$$

你只需要输出最小值就可以了。($1\leq n \leq 200000$)

分析

一次函数减一次函数仍是一次函数,所以最值在端点取得。(画图也能发现)

即 $dust(f, g) = \left(f(0)-g(0) \right)^2 + \left(f(T) - g(T) \right)^2$

这是很熟悉的点到点的距离公式,如果我们把 $\left(f(0), f(T) \right)$,共有 $n$ 个点,$dist(f_i, g)$ 即为 $\left(g(0), g(T) \right)$ 到第 $i$ 个点的距离。

要求的就是到 $n$ 个点的最大距离的最小值,转化为求最小圆覆盖中的圆的半径。

参考链接: https://yang2002.github.io/2019/04/21/最小圆覆盖学习笔记/

最新文章

  1. python 学习(json)(转)
  2. Android自定义实现FlowLayout
  3. 转载 yii2-按需加载并管理CSS样式/JS脚本
  4. CCPC网络赛,HDU_5842 Lweb and String
  5. 模拟dispatch_once
  6. Linux内核中常见内存分配函数(三)
  7. Spring 之 示例(Java之负基础实战)
  8. flume 1.7在windows下的安装与测试
  9. 如何在已有的 Web 应用中使用 ReactJS
  10. pillow的用法
  11. django补充
  12. Always run a program in administrator mode in Windows 10
  13. Java日期时间,以及相互转换
  14. Runnable接口和Callable接口的区别。
  15. Maven让资源文件处理插件能够解析资源文件中的Maven属性
  16. Android TextView文字透明度和背景透明度设置
  17. react native组件的创建
  18. php面向对象编程_2
  19. 题解【luogu4145 上帝造题的七分钟2(花神游历各国)】
  20. 自己写着玩的一个天气APP

热门文章

  1. 【LeetCode】搜索旋转排序数组【两次二分】
  2. 【转帖】netstat命令总结
  3. Linux时间日期类,压缩和解压类
  4. django开发_七牛云CNAME解析
  5. Java学习:内部类的概念于分类
  6. 【leetcode-22】括号生成
  7. c#调用python脚本实现排序(适用于python脚本中不包含第三方模块的情况)
  8. Tigase XMPP Server
  9. Centos7安装Tomcat7,并上传JavaWeb项目
  10. [Linux] 树莓派编译python3.7.4