▎前言:函数

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

☞『数学中的函数』

  一般地,如果在一个变化过程中有两个变量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. 深入探究JVM之内存结构及字符串常量池

    前言 Java作为一种平台无关性的语言,其主要依靠于Java虚拟机--JVM,我们写好的代码会被编译成class文件,再由JVM进行加载.解析.执行,而JVM有统一的规范,所以我们不需要像C++那样需 ...

  2. ISE和modelsim的配合

    modelsim好强呀,我在ISE中在编写时clk不小心把input写成了inout,ISE也没有给我报错:在modelsim中仿真时提示出这个错误了!

  3. 五分钟快速搭建 Serverless 免费邮件服务

    1. 引言 本文将带你快速基于 Azure Function 和 SendGrid 构建一个免费的Serverless(无服务器)的邮件发送服务,让你感受下Serverless的强大之处. 该服务可以 ...

  4. php判断是否为数字

    判断是否为数字 使用is_numeric函数,可以判断数字或者数字字符串 $variables = [ 0, 36, 3.6, .36, '36', 'a36', 044, //8进制 0x24, / ...

  5. C踩坑纪实——(一)

    最近在项目过程中发现了几个c语言中没有注意到的小细节,成功入坑.下面记录的我遇到的问题,以及解决的方法,希望这个过程能给读者带来些许启发. 字符类型变量的溢出 首先来看下面这段代码,你认为会输出什么呢 ...

  6. R常用统计 - 相关关系分析

    数据格式 每行分别为表型和基因表达情况对应标量,每列分别为样品名的矩阵.假定前9列为phenotype,从第10行起为gene_id,编写简单for循环如下: script require(" ...

  7. Android上传图片的两种方式

    参考:https://www.jianshu.com/p/f47943880cea

  8. Android中的ANR问题

    ANR:(Application Not Responding) 1.为什么会产生ANR 在Android中App的相应能力是由Activity Manager和Window Manager系统服务来 ...

  9. redis 之 持久化

    Redis支持RDB和AOF两种持久化机制,持久化功能有效地避免因进程退出造成的数据丢失问题,当下次重启时利用之前持久化的文件即可实现数据恢复. 1.RDB持久化 RDB持久化是指在指定的时间间隔内将 ...

  10. 在npm发布自己造的轮子

    提到封装组件,发布到npm,很多同学都会觉得很神秘.但其实,npm包无非就是我们平时写的比较独立且可复用的模块.当然,想要发布,除了基础组件的编写外,还要进行一些包装.下文通过一个简单的案例,和大家一 ...