【传送门】http://codeforces.com/problemset/problem/813/C

【题意】给定整数a,b,c,s,求使得  xa yzc值最大的实数 x,y,z , 其中x + y + z <= s. (1 ≤ S ≤ 103  , 0 ≤ a, b, c ≤ 103)

【题解】设P(x,y,z ) = xa yzc,则P(x,y,z)是递增的,要使 函数值尽可能地大,那么必取 x + y + z = s

问题转化成:已知限定条件  x + y + z = s, 求P(x,y,z)取得最大值的(x,y,z)

显然,这是运用拉格朗日乘数法的模板题。

【拉格朗日乘数法】

解决的问题模型 : 已知G(x,y,z) = 0

求F(x,y,z)最值(或者极值,一般情况下拉格朗日乘数法求得的极值点就是最值点)

设L(x,y,z) = F(x,y,z) + λG(x,y,z)

将L(x,y,z)分别对x,y,z求偏导,得到3个四元一次方程,加上原来的一个限定条件G(x,y,z) = 0,共得到4个方程,解4个未知数(x,y,z,λ)

求出极值点(x, y , z)即可。

最值只可能在边界处或者极值点处取到,一般情况下极值点就是最值点。

【回到本题】令G(x,y,z) = x + y + z - s , F(x,y,z) = alnx + blny + clnz  .用上述方法解出极值点(s*a/(a+b+c) , s*b/(a+b+c), s*c/(a+b+c))这就是所求答案。

注意a + b + c = 0的特判情况,还需要注意精度,题目要求1e-6,但是精度要达到1e-10以上才行,不然会WA,有点坑。

【AC代码】

#include<iostream>
#include<cstdio>
#include<string>
#include<algorithm>
#include<vector>
#include<cstring>
#include<iomanip>
using namespace std;
typedef long long ll;double s;
double a,b,c;int main(){while(cin>>s){cin>>a>>b>>c;if(a + b + c == 0){cout<<1.0*s<<" "<<0<<" "<<0<<endl;continue;}cout<<setiosflags(ios::fixed)<<setprecision(18)<<s/(a+b+c)*a<<" "<<s/(a+b+c)*b<<" "<<s/(a+b+c)*c<<endl;}
}

转载于:https://www.cnblogs.com/czsharecode/p/9665591.html

CodeForces - 813C The Tag Game(拉格朗日乘数法,限制条件求最值)相关推荐

  1. 高数笔记(十六):无条件极值,条件极值(拉格朗日乘数法),最值求法,二元函数的泰勒公式

    写在前面 这是本人之前考研的高数手写笔记,工科学硕数一考了146(满分150),笔记有一定参考价值,欢迎大家收藏借鉴. 不喜勿看,作为个人笔记电子档留存. 数学不好是原罪--高等数学笔记(汇总版) 高 ...

  2. 拉格朗日乘数法学习笔记

    对于一个多元函数\(f(x_1,x_2,x_3,..,x_n)\),如果它必须满足某一些限制\(g_i(x_1,x_2,x_3,...,x_n)=0\),我们可以使用拉格朗日乘数法来求它的最值 首先你 ...

  3. BZOJ2876 [Noi2012]骑行川藏 【拉格朗日乘数法】

    题目链接 BZOJ 题解 拉格朗日乘数法 拉格朗日乘数法用以求多元函数在约束下的极值 我们设多元函数\(f(x_1,x_2,x_3,\dots,x_n)\) 以及限制\(g(x_1,x_2,x_3,\ ...

  4. 多变量微积分笔记6——拉格朗日乘数法

    基本的拉格朗日乘子法(又称为拉格朗日乘数法),就是求函数 f(x1,x2,...) 在 g(x1,x2,...)=C 的约束条件下的极值的方法.其主要思想是引入一个新的参数 λ (即拉格朗日乘子),将 ...

  5. 拉格朗日乘数法(Lagrange multiplier)

    先摆公式,再说推导. 求二元函数z=f(x,y)z=f(x,y)z=f(x,y)在条件φ(x,y)=0\varphi(x,y)=0φ(x,y)=0下的极值. (1)作Lagrange函数 F(x,y, ...

  6. 好久不见的拉格朗日乘数法

    1 引例 我想大多数人对于朗格朗日乘数法的学习已经是好多年前的事情,其中的细节也自然是慢慢模糊了起来,但是对于它的作用我想几乎是不会忘记的,那就是用来求解条件极值.既然大多数人的记忆都停留在这个地方, ...

  7. 拉格朗日乘数法的原理,我用10幅图把它讲清楚了

    机器学习是一个目标函数优化问题,给定目标函数f,约束条件会有一般包括以下三类: 仅含等式约束 仅含不等式约束 等式和不等式约束混合型 当然还有一类没有任何约束条件的最优化问题 关于最优化问题,大都令人 ...

  8. CodeChef TWOROADS(计算几何+拉格朗日乘数法)

    题面 传送门 简要题意:给出\(n\)个点,请求出两条直线,并最小化每个点到离它最近的那条直线的距离的平方和,\(n\leq 100\) orz Shinbokuow 前置芝士 给出\(n\)个点,请 ...

  9. 拉格朗日乘数法(一种寻找变量受一个或多个条件所限制的多元函数的极值的方法)

    拉格朗日乘数法 在数学最优问题中,拉格朗日乘数法(以数学家约瑟夫·路易斯·拉格朗日命名)是一种寻找变量受一个或多个条件所限制的多元函数的极值的方法.这种方法将一个有n 个变量与k 个约束条件的最优化问 ...

最新文章

  1. 测试ATS对某个特定域名下文件处理效果的方法
  2. cpc卡内计费信息异常包括_抖音CPC是什么?广告的优势在哪?抖音CPC广告转化率高吗?...
  3. H5入门-xhtml+css2-第01节
  4. python类和oop基础知识
  5. Why Open vSwitch?
  6. 第二:Pycharm设置配置(非常详细)
  7. Doris之审计日志插件
  8. 靠,竟然有如此沙雕的代码注释!
  9. 康托展开、康托逆展开原理
  10. window下python2和python3的共存
  11. Typecho网站访问浏览总量统计插件PageViews升级版
  12. HTML项目答辩演讲稿,办公楼毕业设计答辩演讲稿(答辩自述)
  13. Online Judge系统(简称OJ)
  14. Win10自动更新后桌面文件不见了怎么办?
  15. Visual SourceSafe Explorer界面出现乱码+字体翻转
  16. 2021-2027全球与中国测试夹具市场现状及未来发展趋势
  17. 网络推广新手必看!如何以数据手法定义文章标题
  18. 使用 break 语句直接强行退出循环
  19. 硅藻泥行业失控真相后续 网友呼吁主管部门彻查
  20. 【雅思阅读】王希伟阅读P4(matching2段落信息配对题【困难】)

热门文章

  1. Chrome Restful Api 测试工具 Postman-REST-Client离线安装包下载,Axure RP Extension for Chrome离线版下载...
  2. tar -cvPf new.tar `rpm -ql vsftpd` 建议不要用绝对路径'/'
  3. echarts.js 做图表的插件
  4. KeyWordHelper-关键字提取类(注:使用第三方组件DictSeg.dll)
  5. 12.HTML编辑器(CKEditor、CKFinder集成)
  6. Hermite插值是牛顿插值的极限情形
  7. iis7 php oracle,PHP+IIS7配置OCI8链接Oracle 10G的方法
  8. redis集合数据过期_如何从Redis中的集合中自动删除过期的密钥?
  9. [python教程入门学习]python学习笔记(CMD执行文件并传入参数)
  10. Python图像处理,替代PS做好效果图!