当前位置: 代码迷 >> 综合 >> hdu2899 (三分/二分/模拟退火)
  详细解决方案

hdu2899 (三分/二分/模拟退火)

热度:134   发布时间:2023-09-30 17:14:48.0

题目大意: 求函数hdu2899 (三分/二分/模拟退火)的最小值,y为给出的实数,x∈[0,100]


解法①:    首先x>=0可知,函数在定义域上为单峰凹函数,三分即可。

解法②:    对函数求导,当导函数为0时取得极值,发现导函数为增函数,二分即可。

解法③:    模拟退火可以求峰值函数最值,套用即可。


注意:精度恶心,解法①②eps最好开到1e-7,解法③开到1e-8


效率:


三分:hdu2899 (三分/二分/模拟退火)

二分:

hdu2899 (三分/二分/模拟退火)

模拟退火:

hdu2899 (三分/二分/模拟退火)


代码:


三分:http://paste.ubuntu.com/24419224/

二分:http://paste.ubuntu.com/24419225/

模拟退火:http://paste.ubuntu.com/24419230/