三分法
来源:互联网 发布:mac os官方下载 编辑:程序博客网 时间:2024/05/18 09:21
我们知道二分一般用于单调区间,而遇到凸性函数时,三分就能派上很大的用场,
luogu3382
分析
本题保证了一定有解,而且保证了是凸性函数(不是凹性)
所以三分
【l,r】
【l,(l+r)/3】,【l+(l+r)/3*2,r】
每次去掉1/3的区间
时间O(2*logn)
黄金分O(logn)
核心程序
#define M 0.0000001while(r-l>M){ p=l+(r-l)/3; q=l+(r-l)/3*2; if(Cal(p)>Cal(q))r=q; else l=p; }
完整AC程序
#include<cstdio>#include<iostream>#include<cmath>#define N 20#define M 0.0000001using namespace std;double l,r,p,q,a[N];int n;double Cal(double x){ double ans=0; for(int i=0;i<=n;i++){ ans=ans*x+a[i]; } return ans;}int main(){ freopen("data.txt","r",stdin);// freopen("1.txt","w",stdout); scanf("%d%lf%lf",&n,&l,&r); for(int i=0;i<=n;i++)scanf("%lf",&a[i]); while(r-l>M){ p=l+(r-l)/3; q=l+(r-l)/3*2; if(Cal(p)>Cal(q))r=q; else l=p; } printf("%.5f\n",l);}
阅读全文
0 0
- 三分法
- 三分法
- 三分法
- 三分法
- 三分法
- 三分法
- 三分法
- 三分法
- 三分法
- 三分法
- 三分法
- 三分法
- 三分法
- 二分法、三分法
- 三分法模板
- zoj3203(三分法)
- hdu4445(三分法)
- hdu3714(三分法)
- 7.18学习bootstrap之路!
- MySQL登陆的相关命令
- 【PAT】【Advanced Level】1026. Table Tennis (30)
- FZU Problem 2271 X(最短路)
- 高性能可扩展mysql(执行计划,索引分析优化改写,删除重复数据,区间统计,满查询日志)
- 三分法
- [Android] AudioEffect架构:从上层调用到底层音效驱动
- TensorFlow手写识别
- SPOJ687 Repeats (后缀数组+lcp)
- MathJax基础(2):矩阵
- Realm基础
- php和java之间aes加密的互通
- CCF201312-1 出现次数最多的数 桶排序
- @Cacheable注解在spring3中的使用-实现缓存