题目链接

\(Description\)

  求函数\(F(x)=6\times x^7+8\times x^6+7\times x^3+5\times x^2-y\times x\)在\(x\in \left[0,100\right]\)时的最小值。

\(Solution\)

  \(x\geq 0\)时\(F(x)\)为单峰凹函数,三分即可。

  而且由此可知\(F(x)\)的导数应是单增的。函数最值可以转化为求导数零点问题,于是也可以二分求\(F'(x)\)的零点,或者用牛顿迭代求。

  峰值函数最值也可以用模拟退火求。

  练习下牛顿迭代。其它代码可以见这

  牛顿迭代:$$x=x_0-\frac{F(x_0)}{F'(x_0)}$$

  对\(F(x)\)泰勒展开,\(F(x)=F(x_0)+F'(x_0)(x-x_0)+\frac{F''(x_0)}{2!}(x-x_0)^2+\ldots+\frac{F^{(n)}(x_0)}{n!}(x-x_0)^n+R_n(x)\)

  为方便计算?只保留线性部分\(F(x)=F(x_0)+F'(x_0)(x-x_0)\),令其等于\(0\)。

  就可以得到\(x=x_0-\frac{F(x_0)}{F'(x_0)}\)

  多次迭代、多次选取\(x_0\)即可。

//0MS	1628K
#include <cmath>
#include <cstdio>
#include <algorithm>
#define eps (1e-7) double y;
inline double f(double x){
return 6*pow(x,7)+8*pow(x,6)+7*pow(x,3)+5*x*x-y*x;
}
inline double fd(double x){
return 42*pow(x,6)+48*pow(x,5)+21*x*x+10*x-y;
}
inline double fdd(double x){
return 252*pow(x,5)+240*pow(x,4)+42*x+10;
}
double Get_zero(double x)//求导函数零点
{
double las=x+1;
while(fabs(las-x)>eps) las=x, x=x-fd(x)/fdd(x);
return x;
} int main()
{
int T; scanf("%d",&T);
while(T--)
{
scanf("%lf",&y);
double ans=1e15;
for(int i=0; i<=100; i+=10) ans=std::min(ans,f(Get_zero(i)));
printf("%.4lf\n",ans);
}
return 0;
}

最新文章

  1. 推荐15个最好用的 JavaScript 代码压缩工具
  2. Linux驱动学习之什么是驱动?
  3. ListView条目的侧拉删除
  4. Nginx的启动、停止与重启
  5. java高薪之路__006_多线程
  6. apache commons Java包简介
  7. Codeforces723E One-Way Reform【欧拉回路】
  8. HDU 2553 (状压) N皇后问题 (2)
  9. Net Configuration Assistant和Net Manager的区别
  10. [Swust OJ 585]--倒金字塔(LIS最长不下降子序列)
  11. 软件project(十)——软件维护
  12. github从上传代码到发布静态网站
  13. repeat a string in java
  14. 【转载】CANoe 入门 Step by step系列(三)简单例子的剖析
  15. 工作随笔—Java容器基础知识分享(持有对象)
  16. rtp header
  17. UUID生成字符串
  18. Lua加密
  19. Window窗口布局 --- DecorView浅析
  20. 中文字体@font-face的导入

热门文章

  1. docker制作镜像步骤
  2. 阿里面试回来,想和Java程序员谈一谈
  3. centos7上安装指定版本gitlab
  4. 洛谷P1841重要的城市
  5. Git 撤销操作、删除文件和恢复文件
  6. thinkphp调试
  7. POJ 3286 How many 0&#39;s(数位DP模板)
  8. sql 修改列名及表名 sp_rename
  9. Effective STL 学习笔记 Item 38 : Design functor classes for pass-by-value
  10. CCF CSP 201312-4 有趣的数