▎前言:函数

  如果你已经上过初二的数学课了,那么你十有八九会被函数折磨到吐血,这是一种中考压轴题类的题目,往往分类讨论到你恶心。不过没学过也不打紧,现场讲解一下:

☞『数学中的函数』

  一般地,如果在一个变化过程中有两个变量x和y,并且对于变量x的每一个值,变量y都有唯一的值与它对应,那么我们称y是x的函数,x是自变量。(copy自八上数学BS教材)

  表示函数的方法:列表法、关系式法和图像法。(copy自八上数学BS教材)

  可能有些枯燥,举个例子:小明从家出发,去旅游,速度是2m/s,如果他不歇下来,那么x小时后就会走2x米,如果用y来表示路程,那么就有y=2x,那么y就是x的函数。

  表示成图像是这样的:

  

  细细一看便会发现直线上的点y轴的值总是x轴值的2倍,这就是函数的图像。

  还有这些:

  

  像这样的函数都是单调函数

☞『单调函数』

  一般的,不强调区间的情况下,所谓的单调函数是指, 对于整个定义域而言,函数具有单调性。而不是针对定义域的子区间而言。举个例子,反比例函数是一个具有单调性的函数,而不是一个单调函数,因为在反比例函数的定义域上,并不呈现整体的单调性。单调函数只是单调性函数中特殊的一种。区间具有单调性的函数并不一定是单调函数,而单调函数的子区间上一定具有单调性。具有单调性函数可以根据区间不同而单调性不同。(copy自百度)

  这就是定义了,猜你也看不懂,一句话概括:函数y的值随着自变量x的增大而增大或函数y的值随着自变量x的增大而减小,不能出现随着x增大而yx却先增大后减小之类的情况。

☞『单峰函数』

  单峰函数是在所考虑的区间中只有一个严格局部极大值(峰值)的实值函数。如果函数f(x)在区间[a, b]上只有唯一的最大值点C,而在最大值点C的左侧,函数单调增加;在点C的右侧,函数单调减少,则称这个函数为区间[a, b]上的单峰函数。(copy自百度)

  单峰函数不太好解释,直接上图吧:

  

  红点处就是这个函数的峰,就像山的峰一样,而下图却有两个峰,不属于单峰函数:

  

☞『计算机中的函数』

  函数是指一段在一起的、可以做某一件事的程序。

  学会了数学上的函数,可别忘了计算机函数了。


感觉前言说太多了,赶紧切入正题:

▎算法:二分&单调函数

  学过二分查找(不会的话戳这里)的人都知道:二分是一种查找值的算法,但是前提是查找的数是已经排好序的(升序降序无所谓),才能二分查找。

  那么用在函数上时呢?很容易就能辨认出只有单调函数才符合已经排好序。

▎算法:三分&单峰函数

☞『三分』

  与二分相对比,二分形象一点说是切一刀分成两份,那么三分就是切两刀分成三份,怎么切呢?二分是取中间的(中点),那么三分就是取两个三等分点呗。

  当出现单峰函数时由于函数值没有排好序,所以二分只会力不从心,而三分则是这类问题的常用算法。

  三分常常用来找单峰函数峰值

☞『算法思想』

  1)取两个三等分点。

  

  2)取中点。

  

  3)比较大小。

  若左边的三等分点大于右边的三等分点,则放弃右区间。

  否则放弃左区间。

  4)反复这样,直到找到峰值。

【算法•日更•第二期】查找算法:三分VS二分的更多相关文章

  1. 【算法•日更•第二十八期】图论:强连通+Tarjan算法(一)

    ▎前言 一直都想学习这个东西,以为很难,结果发现也不过如此. 只要会些图论的基础就可以了. ▎强连通 ☞『定义』 既然叫强连通,那么一定具有很强的连通性. 强连通:就是指在一个有向图中,两个顶点可以互 ...

  2. 【算法•日更•第二十七期】基础python

    ▎前言 看到这个题目,你一定会很好奇,为什么学打NOIP的要学习python?其实python对我们是很有用的! NOIP虽然不支持使用python提交代码,但是在NOILinux上天生自带pytho ...

  3. 【算法•日更•第二十三期】数据结构:two-pointer(尺取法)&莫队

    ▎引入 ☞『例题』 一道十分easy的题: 洛谷P1638 长度为n的序列,m种数 找一个最短区间,使得所有数出现一遍 n≤1e6 ,m≤2e3. ☞『分析』 这道题非常的简单,但是如果不会two-p ...

  4. 【sky第二期--PID算法】--【智能车论坛】

    [sky第二期--PID算法] 想学PID的可以来[智能车论坛]这里有我发布的资料http://bbs.tekbots.eefocus.com/forum.php?mod=viewthread& ...

  5. 【算法•日更•第十九期】动态规划:RMQ问题

    ▎前言 首先先来说一下RMB是什么,当然是人民币啦. 今天我们要学的这个东西不一般,叫做RMQ问题,那么它和RMB有什么关系呢?待小编细细说来. ▎前置技能:动态规划 不会的同志请戳这里迅速了解动态规 ...

  6. 【算法•日更•第五十期】二分图(km算法)

    ▎前言 戳开这个链接看看,惊不惊喜,意不意外?传送门. 没想到我的博客竟然被别人据为己有了,还没办法投诉. 这年头写个博客太难了~~~ 之前小编写过了二分图的一些基础知识和匈牙利算法,今天来讲一讲km ...

  7. 【算法•日更•第三十九期】迭代加深搜索:洛谷SP7579 YOKOF - Power Calculus 题解

    废话不多说,直接上题: SP7579 YOKOF - Power Calculus 题意翻译 (略过没有营养的题干) 题目大意: 给出正整数n,若只能使用乘法或除法,输出使x经过运算(自己乘或除自己, ...

  8. 【算法•日更•第十二期】信息奥赛一本通1585:【例 1】Amount of Degrees题解

    废话不多说,直接上题: 1585: [例 1]Amount of Degrees 时间限制: 1000 ms         内存限制: 524288 KB提交数: 130     通过数: 68 [ ...

  9. 【算法•日更•第三十五期】FF算法优化:EK算法

    ▎写在前面 FF算法传送门 之前我们已经学过了FF算法(全称Ford-Fulkerson算法)来找最大流,但是这种算法仍有诸多不对的地方. 其实这种算法存在着严重的效率的问题,请看下面的图: 以这个图 ...

随机推荐

  1. org.apache.commons.net.ftp.FTPConnectionClosedException: Connection closed without indication

    Ftp问题 最近遇到了ftp读取中文乱码的问题,代码中使用的是FtpClient.google一下找到了解决方案. FTP协议里面,规定文件名编码为iso-8859-1,FTP类中默认的编码也是这个. ...

  2. goroutine间的同步&协作

    Go语言中的同步工具 基础概念 竞态条件(race condition) 一份数据被多个线程共享,可能会产生争用和冲突的情况.这种情况被称为竞态条件,竞态条件会破坏共享数据的一致性,影响一些线程中代码 ...

  3. HTML基础和标签

    HTML 1.属性 在开始标签中写的键值对 2.颜色 ①英文 ②16进制代码  例如: #cccccc  #ccc (缩写) #000000 ③Rgba(0~255,255,255,0~1) 0~1代 ...

  4. String常用处理方法

    1.去空格 用于删除字符串的头尾空白符. 语法:public String trim() 返回值:删除头尾空白符的字符串. 删除所有空格 str.replace(" ", &quo ...

  5. 移动端rem字体适配JS

    // 『REM』手机屏幕适配,兼容更改过默认字体大小的安卓用户 function adapt(designWidth, rem2px) { // designWidth:'设计图宽度' 1rem==r ...

  6. Intellij IDEA 快速查找接口实现类的快捷键

    查找接口的实现类: IDEA 风格 ctrl + alt +B 在按F2查看详细文档注解 查看类或接口的继承关系: ctrl + h

  7. Apache Tomcat/8.5.51 secretRequired="true"

    1.报错IllegalArgumentException: The AJP Connector is configured with secretRequired="true" b ...

  8. PHP array_pop() 函数

    实例 删除数组中的最后一个元素: <?php$a=array("red","green","blue");array_pop($a); ...

  9. PHP sort() 函数

    实例 对数组 $cars 中的元素按字母进行升序排序: <?php $cars=array("Volvo","BMW","Toyota" ...

  10. PHP unset() 函数

    unset() 函数用于销毁给定的变量.高佣联盟 www.cgewang.com PHP 版本要求: PHP 4, PHP 5, PHP 7 语法 void unset ( mixed $var [, ...