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

桂林人论坛新闻seo整站优化哪家专业

桂林人论坛新闻,seo整站优化哪家专业,信阳做网站优化,java如何做网站【题目链接】 ybt 1435:【例题3】曲线 洛谷 P1883 函数 【题目考点】 1. 三分 【解题思路】 每个 S i ( x ) S_i(x) Si​(x)是一个二次函数, F ( x ) m a x ( S i ( x ) ) F(x) max(S_i(x)) F(x)max(Si​(x)),即为所有二次函数当自变量…

【题目链接】

ybt 1435:【例题3】曲线
洛谷 P1883 函数

【题目考点】

1. 三分

【解题思路】

每个 S i ( x ) S_i(x) Si(x)是一个二次函数, F ( x ) = m a x ( S i ( x ) ) F(x) = max(S_i(x)) F(x)=max(Si(x)),即为所有二次函数当自变量为x时的所有函数值的最大值。
已知 a ≥ 0 a \ge 0 a0,所以所有的二次函数都是开口向上的,为下凸函数。
首先要证明 F ( x ) F(x) F(x)在定义域为[0, 1000]的范围内是下凸函数(凸函数定义)

已知f(x),g(x)为下凸函数,证明h(x)=max(f(x),g(x))是一个下凸函数。
证明:
根据凸函数的定义,对于任意的 0 ≤ α ≤ 1 0\leq\alpha\leq1 0α1,定义域内的任意 x 1 , x 2 x1, x2 x1,x2,总有
f ( α x 1 + ( 1 − α ) x 2 ) ≤ α f ( x 1 ) + ( 1 − α ) f ( x 2 ) ≤ α h ( x 1 ) + ( 1 − α ) h ( x 2 ) f(\alpha{x1}+(1-\alpha)x2)\leq\alpha{f(x1)}+(1-\alpha){f(x2)}\leq\alpha{h(x1)}+(1-\alpha){h(x2)} f(αx1+(1α)x2)αf(x1)+(1α)f(x2)αh(x1)+(1α)h(x2)
同理,对于g(x)也有相似的结论:
g ( α x 1 + ( 1 − α ) x 2 ) ≤ α g ( x 1 ) + ( 1 − α ) g ( x 2 ) ≤ α h ( x 1 ) + ( 1 − α ) h ( x 2 ) g(\alpha{x1}+(1-\alpha)x2)\leq\alpha{g(x1)}+(1-\alpha){g(x2)}\leq\alpha{h(x1)}+(1-\alpha){h(x2)} g(αx1+(1α)x2)αg(x1)+(1α)g(x2)αh(x1)+(1α)h(x2)

x = α x 1 + ( 1 − α ) x 2 x=\alpha{x1}+(1-\alpha)x2 x=αx1+(1α)x2带入 h ( x ) h(x) h(x),有
h ( α x 1 + ( 1 − α ) x 2 ) = m a x ( f ( α x 1 + ( 1 − α ) x 2 ) , g ( α x 1 + ( 1 − α ) x 2 ) ) ≤ m a x ( α h ( x 1 ) + ( 1 − α ) h ( x 2 ) , α h ( x 1 ) + ( 1 − α ) h ( x 2 ) ) = α h ( x 1 ) + ( 1 − α ) h ( x 2 ) h(\alpha{x1}+(1-\alpha)x2)=max(f(\alpha{x1}+(1-\alpha)x2),g(\alpha{x1}+(1-\alpha)x2))\leq max(\alpha{h(x1)}+(1-\alpha){h(x2)},\alpha{h(x1)}+(1-\alpha){h(x2)})= \alpha{h(x1)}+(1-\alpha){h(x2)} h(αx1+(1α)x2)=max(f(αx1+(1α)x2),g(αx1+(1α)x2))max(αh(x1)+(1α)h(x2),αh(x1)+(1α)h(x2))=αh(x1)+(1α)h(x2)
h(x)满足下凸函数的定义,因此也是下凸函数

已知f(x),g(x)两个函数的较大值h(x)=max(f(x),g(x))是下凸函数,那么多个函数的最大值 F ( x ) F(x) F(x)也是下凸函数。

已知 F ( x ) F(x) F(x)在定义域[0,1000]中是下凸函数(单谷函数),因此可以使用三分求单谷函数的极小值点。
首先把左端点l设为0,右端点r设为1000
每次循环取三分点lm = l+(r-l)/3, rm = r-(r-l)/3
求出两个三分点位置的函数值f(lm)、f(rm)
设极值点为m(注:极值点是取到极值时函数自变量的值)

  • 当f(lm)<f(rm)时,可能是lm < m < rm,或m < lm < rm,极值点一定不在[rm, r]的范围内,因此使r = rm,[l, r]的范围缩减1/3。
  • 当f(lm)>f(rm)时,可能是lm < m < rm,或lm > rm > m,极值点一定不在[l, lm]的范围内,因此使l = lm,[l, r]的范围缩减1/3。
    r − l < 1 0 − 10 r-l < 10^{-10} rl<1010时,跳出循环,此时l或r都是极值点的近似值。
    求极值点位置的函数值,即为 f ( l ) f(l) f(l)

三分算法的时间复杂度: O ( l o g n ) O(log n) O(logn),n为初始的数值范围大小,在本题中为1000。
【注】:r与l差值很小时结束循环,对于一般的结果保留几位小数的问题(比如保留5位,8位等),将差值取为 1 0 − 10 10^{-10} 1010是合理的。取 r − l < 1 0 − 10 r-l<10^{-10} rl<1010与取 r − l < 1 0 − 5 r-l<10^{-5} rl<105在循环次数上是相同数量级的,而且能保证结果的准确性。

【题解代码】

解法1:三分
#include<bits/stdc++.h>
using namespace std;
#define N 10005
int a[N], b[N], c[N], n, t;//a[i], b[i], c[i]:第i个二次函数的a、b、c
double f(double x)
{double ans = -1e9;for(int i = 1; i <= n; ++i)ans = max(ans, a[i]*x*x+b[i]*x+c[i]);return ans;
}
int main()
{scanf("%d", &t);while(t--){scanf("%d", &n);for(int i = 1; i <= n; ++i)scanf("%d%d%d", &a[i], &b[i], &c[i]);double l = 0, r = 1000;while(r-l >= 1e-10){double lm = l+(r-l)/3, rm = r-(r-l)/3;if(f(lm) > f(rm))l = lm;elser = rm;}printf("%.4f\n", f(l));}return 0;
}
http://www.tj-hxxt.cn/news/35242.html

相关文章:

  • 做问卷赚钱的网站杭州优化关键词
  • 做新网站 备案证明交接杭州seo外包服务
  • 出口跨境电商平台有哪些搜索引擎优化课程
  • 怎么在网站做推广唐山seo
  • 网站建设的空间是什么百中搜优化软件
  • 查看一个网站的备案app推广平台有哪些
  • 怎么做网盘搜索网站网络宣传推广方案范文
  • 网站开发关键技术网络营销的特点有哪些
  • 社区网站建设方案网络项目平台
  • 实验室建设供应商网站怎么建立信息网站平台
  • 网站制作毕业论文广州新闻播报
  • 南通优普企业网站建设网络服务器是指什么
  • 网站文件目录网页优化建议
  • 如何做网站大管家软文发布平台媒体
  • 光纤网络哪个公司好最彻底的手机优化软件
  • 广州购网站建设淘宝客推广一天80单
  • 沈阳建设工程信息网 等级中项网seo职业培训学校
  • 做独立外贸网站流程企业网站分析报告
  • 公司查名网站百度seo指南
  • php网站开发流程网络优化大师下载
  • 做网站域名后缀选择优秀网站
  • 如何做产品网站网页设计个人主页模板
  • 网站开发管理工具有哪些网站制作流程
  • 电子商务网站建设合同网站广告投放价格表
  • 中国b2b商务大全seo如何快速排名
  • 青岛企业网站设计制作信息流广告投放工作内容
  • 龙岩e网站app拉新
  • 张店学校网站建设哪家好在百度上怎么发布信息
  • 鞍山网站开发网络媒体软文案例
  • 十三师建设局网站app推广是做什么的