三分搜索

原创 2015年07月10日 10:14:41

二分所查找的序列是单调的,把区间分为相等的两段,三分所查找的序列是凸型或凹形函数,为了查找函数的最值。

hdu 4355

#include <iostream>
#include <string.h>
#include <stdio.h>
#include <math.h>
#include <algorithm>
using namespace std;

const double eps=1e-5;
const int MAX=50010;

double p[MAX],w[MAX];
int n;

double equ(double x)
{
    double ans=0;
    for(int i=0;i<n;i++)
    {
        double S=fabs(p[i]-x);
        ans+=w[i]*S*S*S;
    }
    return ans;
}

double ternarySearch(double l,double r)
{
    while(r-l>eps)
    {
        double ll=(2*l+r)/3;
        double rr=(l+2*r)/3;
        double ans1=equ(ll);
        double ans2=equ(rr);
        if(ans1>ans2)
            l=ll;
        else
            r=rr;
    }
    return l;
}

int main()
{
    int T,i;
    scanf("%d",&T);
    for(int t=1;t<=T;t++)
    {
        scanf("%d",&n);
        for(i=0;i<n;i++)
        scanf("%lf%lf",&p[i],&w[i]);
        double l=p[0],r=p[n-1];
        double tmp=ternarySearch(l,r);
        printf("Case #%d: %.0lf\n",t,equ(tmp));
    }
    return 0;
}

全搜索法FS、三步搜索法TSS、菱形搜索法DS

1、全搜索法 算法描述 图示 2、三步搜索法 算法描述 图示 3、新三步搜索法 算法描述 图示 4、菱形搜索法 算法描述 图示...
  • qingkongyeyue
  • qingkongyeyue
  • 2016年07月29日 22:07
  • 1390

从排列到组合——深度优先搜索

这个核心代码不超过20行的例子,饱含深度优先搜索(Depth First Search,DFS)的基本模型。理解深度优先搜索的关键在于解决“当下该如何做”。至于“下一步如何做”则与“当下该如何做”是一...
  • yyyds
  • yyyds
  • 2016年06月19日 15:45
  • 1460

Android之Android studio动态搜索添加依赖库

Android之Android studio动态搜索添加依赖库 文章链接: 知识点: 1、Android studio动态搜索并添加依赖库; 2、新名词记录{} 在我们需要用到的一些第三方...
  • qq_16628781
  • qq_16628781
  • 2017年03月18日 21:29
  • 3144

已排序数组三分搜索法的研究

  • 2008年08月01日 10:08
  • 854KB
  • 下载

POJ 3737 UmBasketella 三分搜索

UmBasketella Time Limit: 1000MS Memory Limit: 65536KB 64bit IO Format: %lld & %llu SubmitStatus...
  • Katapeltes
  • Katapeltes
  • 2016年07月24日 20:09
  • 153

Ternary Search Trees 三分搜索树

这几天在研究suggest tree, suggest tree是以Ternary Search Tree为基础,所以先转一个3分搜索树博客。 转自: http://chenzongzhi.info...
  • suwei19870312
  • suwei19870312
  • 2012年04月16日 22:07
  • 3659

Ternary Search Trees 三分搜索树-源码

#include #include #include #include using namespace std; class TernarySearchTree { private: ...
  • suwei19870312
  • suwei19870312
  • 2012年04月16日 22:16
  • 872

三分搜索--hdu2241 考研路茫茫——早起看书

考研并不是说说就可以了,要付诸于行动。 对于Lele来说,最痛苦的事莫过于早起看书了,不过为了考研,也就豁出去了。由于早起看书会对看书效率产生影响,所以对于要什么时候起床看书,还是有必要考虑的。...
  • SM_545
  • SM_545
  • 2017年08月07日 20:49
  • 311

二分搜索与三分搜索的应用

二分搜索与三分搜索的应用: 二分和三分都利用了分治的思想,都是通过不断缩小查找的范围,把问题分解为更小的子问题直到找到解为止,,二分的时间复杂度为log2(n),而三分的时间复杂度为3log3(n...
  • consciousman
  • consciousman
  • 2016年11月05日 16:22
  • 1048

三分算法(解决先增后减或先减后增的搜索方法)

B. The Meeting Place Cannot Be Changed time limit per test 5 seconds memory limit per test 256 m...
  • Aiwen1413
  • Aiwen1413
  • 2017年03月07日 21:32
  • 204
内容举报
返回顶部
收藏助手
不良信息举报
您举报文章:三分搜索
举报原因:
原因补充:

(最多只允许输入30个字)