二分法作为分治中最常见的方法,适用于单调函数,逼近求解某点的值。但当函数是凸性函数时,二分法就无法适用,这时三分法就可以“大显身手”~~
类似于二分的定义Left和Right,mid = (Left + Right) / 2,midmid = (mid + Right) / 2; 如果mid靠近极值点,则Right = midmid;否则(即midmid靠近极值点),则Left
= mid;
程序模版如下:
t=x/p+y/q+z/r
f(t)=x/p+y/q+z/r;
f(t)=x/p+g(y),g(y)=y/q+z/r;
则g(y)关于y为凸性函数,f(t)关于x,y为凸性函数(可能为递增函数),所以用两次三分,先在外层取mid,midmid,再每次以mid,midmid为m点对内层用三分求解最小时间g(y),完成外层的三分求解。
此外,这一题要的是对时间的精度,所以精度控制应该为fabs(t1-t2)<eps,而不是right-left<eps,否则可能出现right-left=1e-7,但对应fabs(t1-t2)=0.1的情况!
分享到:
相关推荐
HDU图论题目分类
ACM HDU题目分类,我自己总结的大概只有十来个吧
hdu题目分类
有题,有解题思路,有解题代码 hdu2516、poj1067和hdu1527、hdu2177、hdu2176等等
HDU的1250,主要是利用高精度加法,但是代码有点繁琐,效率不是很高
杭电ACMhdu1163
HDU1059的代码
hdu1001解题报告
hdu 1574 passed sorce
其中有pku、hdu、zoj等各大oj的题目分类,pku的oj比较详细一点,按不同算法进行分类,均系从网上自行搜集的。
HDU的一题........HDU DP动态规
hdu2101AC代码
hdu acm 教案 搜索入门 hdu acm 教案 搜索入门
搜索 dfs 解题代码 hdu1241
hdu 5007 Post Robot 字符串枚举。 暴力一下就可以了。
hdu ACM代码 每种算法都有分类 大三了,没有时间弄ACM,这些要删了
hdu acm 教案 动态规划(1) hdu acm 教案 动态规划(1)
hdu 1166线段树代码