首頁
編程語言
C語言|JAVA編程
Python編程
網頁編程
ASP編程|PHP編程
JSP編程
數據庫
MYSQL數據庫|SqlServer數據庫
Oracle數據庫|DB2數據庫
您现在的位置: 程式碼之家 >> 編程語言 >  >> C語言 >> C++ >> 關於C++

HDU 2899 Strange Function:三分法與二分法求函數極小值

     編輯:關於C++

問題描述

F(x) = 6x⁷ + 8x⁶ + 7x³ + 5x² - y·x,x∈[0,100],y∈(0,1e10)。求最小值(保留 4 位小數)。

數學性質

七次多項式主導項 6x⁷ 為正,x≥0 時單調遞增,故 F(x) 在 [0,100] 上凸(開口向上),存在唯一極小值點。

方法一:三分法


方法二:求導 + 二分法

F'(x) = 42x⁶ + 48x⁵ + 21x² + 10x - y,單調遞增,二分求 F'(x)=0 的根。


複雜度對比

兩種均為 O(log(精度)) ≈ 50 次迭代,二分法略快(每次 1 次函數評估 vs 2 次)。

  1. 上一篇文章:
  2. 下一篇文章:
Copyright © 程式碼之家 All Rights Reserved