当前位置: 首页 > news >正文

三分法求凸性函数极大极小值

直接贴模板,理解很容易,网上的题解一搜便是。

唉,贴一个大佬吧:http://blog.csdn.net/pi9nc/article/details/9666627


模板(上凸函数模板):

const double eps = 1e-6;
double Calc(double k)
{
	return ...(计算表达式);
}
double SanFen(double l, double r)
{
	double mid, mmid;
	while(r-l > eps)
	{
		mid = (r+l)/2.0;
		mmid = (mid+r)/2.0;
		if(Calc(mid) > Calc(mmid)) r = mmid;
		else l = mid;
	}
	return r;
}


再给一个模板例题ZOJ-3203

#include <algorithm>
#include <iostream>
#include <string.h>
#include <cstdio>
using namespace std;
const double eps = 1e-6;
double H, h, D;
double Calc(double x){
	double ans = h*x/(H-h);
	if(ans+x > D){
		double g = ans+x-D;
		ans = ans - g + g*(H-h)/x;
	}
	return ans;
}
double SanFen(double l, double r)
{
	double mid, mmid;
	while(r-l < eps)
	{
		mid = (r+l)/2.0;
		mmid = (mid+r)/2.0;
		if(Calc(mid) > Calc(mmid)) r = mmid;
		else l = mid;
	}
	return r;
}
int main(){
	int t;
	cin >> t;
	while(t--){
		scanf("%lf %lf %lf", &H, &h, &D);
		double id = SanFen(0, D);
		printf("%.3f\n", Calc(id));
	}
	return 0;
}

继续加油~

相关文章:

  • CodeForces 612D
  • 【leetcode】Factorial Trailing Zeroes(easy)
  • 数学知识小记
  • [SQL]mysql密码读取
  • CodeForces 616E(数学规律)
  • MongoDB aggregate 运用篇(转)
  • 二分图的概念汇总
  • HDU 1429(状压+bfs)
  • 树莓派系统安装初级教程
  • POJ 2528(线段树+离散化)
  • hadoop问题与解决办法
  • HDU 4725(最短路之建图难点)
  • QDU首届易途杯大赛-kk与cillyb的荣誉之战
  • Visual Studio 有哪些好用的插件?
  • QDU首届易途杯大赛-ycb老师与一道简单的物理题
  • [Vue CLI 3] 配置解析之 css.extract
  • 《网管员必读——网络组建》(第2版)电子课件下载
  • FastReport在线报表设计器工作原理
  • java架构面试锦集:开源框架+并发+数据结构+大企必备面试题
  • php的插入排序,通过双层for循环
  • Three.js 再探 - 写一个跳一跳极简版游戏
  • webpack4 一点通
  • web标准化(下)
  • 阿里云前端周刊 - 第 26 期
  • 搭建gitbook 和 访问权限认证
  • 基于遗传算法的优化问题求解
  • 近期前端发展计划
  • 力扣(LeetCode)56
  • 使用权重正则化较少模型过拟合
  • 网络应用优化——时延与带宽
  • 在weex里面使用chart图表
  • kubernetes资源对象--ingress
  • PostgreSQL之连接数修改
  • 格斗健身潮牌24KiCK获近千万Pre-A轮融资,用户留存高达9个月 ...
  • ​ssh免密码登录设置及问题总结
  • !! 2.对十份论文和报告中的关于OpenCV和Android NDK开发的总结
  • #NOIP 2014# day.1 T3 飞扬的小鸟 bird
  • (¥1011)-(一千零一拾一元整)输出
  • (C++20) consteval立即函数
  • (Oracle)SQL优化技巧(一):分页查询
  • (二十一)devops持续集成开发——使用jenkins的Docker Pipeline插件完成docker项目的pipeline流水线发布
  • (亲测)设​置​m​y​e​c​l​i​p​s​e​打​开​默​认​工​作​空​间...
  • (学习日记)2024.02.29:UCOSIII第二节
  • (原創) 如何讓IE7按第二次Ctrl + Tab時,回到原來的索引標籤? (Web) (IE) (OS) (Windows)...
  • (转)Linux下编译安装log4cxx
  • (轉貼) 寄發紅帖基本原則(教育部禮儀司頒布) (雜項)
  • .Net Attribute详解(上)-Attribute本质以及一个简单示例
  • .Net CF下精确的计时器
  • .NET Core WebAPI中使用swagger版本控制,添加注释
  • .net framwork4.6操作MySQL报错Character set ‘utf8mb3‘ is not supported 解决方法
  • .NET 中 GetHashCode 的哈希值有多大概率会相同(哈希碰撞)
  • .NET6实现破解Modbus poll点表配置文件
  • .Net中间语言BeforeFieldInit
  • .net中生成excel后调整宽度
  • @property @synthesize @dynamic 及相关属性作用探究