P3382 模板三分法

Posted zhengkunjia

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了P3382 模板三分法相关的知识,希望对你有一定的参考价值。

这是一道版子题

一开始看了别人的博客,知道三分方法

后来自己实现

交了两次,全WA。原因是系数定义成了int......唉样例竟然过了

第三次就全AC了

没啥思维含量,不过学到了 fabs() 和 判断精度

今天xmz问我一本通的

1058:求一元二次方程

也用到了精度判断

代码

#include <iostream>
#include <algorithm>
#include <cstdio>
#include <string>
#include <cstring>
#include <cmath>
#define precision 1e-12

using namespace std;

int n ;
double a , b , l , r,xi[15];

double f(double x)
{
double x0 = 1;
double ans = 0;
for (int i = 0 ; i <= n ; i++)
{
x0 = 1;
int j = i;
while (j--)
{
x0 *= x;
}
x0 *= xi[i];
ans += x0;
}
//cout << " " << x << " " << ans << endl;
return ans;
}

int main()
{
cin >> n;
cin >> a >> b;
for (int i = n ; i >= 0 ; i--)
{
cin >> xi[i];
}
l = a , r = b;
while (l < r)
{
if(fabs(r - l) < precision)
break;
double thi1 = l + (r - l) / 3;
double thi2 = l + (r - l) / 3 * 2;
//cout << l << " " << thi1 << " " << thi2 << " " << r << endl;
if(f(thi1) < f(thi2))
{
l = thi1;
//cout << "left" << endl;
}

else
{
r = thi2;
//cout << "right" << endl;
}
}
printf ("%.5lf " , l);
return 0;
}

以上是关于P3382 模板三分法的主要内容,如果未能解决你的问题,请参考以下文章

P3382 模板三分法

[洛谷P3382]模板三分法

P3382 模板三分法

P3382 模板三分法

三分模板洛谷P3382三分模板

三分法