2876: [Noi2012]骑行川藏

Time Limit: 20 Sec  Memory Limit: 128 MBSec  Special Judge
Submit: 1033  Solved: 504
[Submit][Status][Discuss]

Description

蛋蛋非常热衷于挑战自我,今年暑假他准备沿川藏线骑着自行车从成都前往拉萨。川藏线的沿途有着非常美丽的风景,但在这一路上也有着很多的艰难险阻,路况变化多端,而蛋蛋的体力十分有限,因此在每天的骑行前设定好目的地、同时合理分配好自己的体力是一件非常重要的事情。
由于蛋蛋装备了一辆非常好的自行车,因此在骑行过程中可以认为他仅在克服风阻做功(不受自行车本身摩擦力以及自行车与地面的摩擦力影响)。某一天他打算骑 N段路,每一段内的路况可视为相同:对于第i段路,我们给出有关这段路况的3个参数 si , ki , vi' ,其中 si 表示这段路的长度, ki 表示这段路的风阻系数, vi' 表示这段路上的风速(表示在这段路上他遇到了顺风,反之则意味着他将受逆风影响)。若某一时刻在这段路上骑车速度为v,则他受到的风阻大小为 F = ki ( v - vi' )2(这样若在长度为s的路程内保持骑行速度v不变,则他消耗能量(做功)E = ki ( v - vi' )2 s)。
设蛋蛋在这天开始时的体能值是 Eu ,请帮助他设计一种行车方案,使他在有限的体力内用最短的时间到达目的地。请告诉他最短的时间T是多少。

【评分方法】
本题没有部分分,你程序的输出只有和标准答案的差距不超过0.000001时,才能获得该测试点的满分,否则不得分。

【数据规模与约定】
对于10%的数据,N=1;
对于40%的数据,N<=2;
对于60%的数据,N<=100;
对于80%的数据,N<=1000;
对于所有数据,N <= 10000,0 <= Eu <= 108,0 < si <= 100000,0 < ki <= 1,-100 < vi' < 100。数据保证最终的答案不会超过105。

【提示】
必然存在一种最优的体力方案满足:蛋蛋在每段路上都采用匀速骑行的方式。

Input

第一行包含一个正整数N和一个实数Eu,分别表示路段的数量以及蛋蛋的体能值。 接下来N行分别描述N个路段,每行有3个实数 si , ki , vi' ,分别表示第 i 段路的长度,风阻系数以及风速。

Output

输出一个实数T,表示蛋蛋到达目的地消耗的最短时间,要求至少保留到小数点后6位。

Sample Input


3 10000
10000 10 5
20000 15 8
50000 5 6

Sample Output

12531.34496464
【样例说明】 一种可能的方案是:蛋蛋在三段路上都采用匀速骑行的方式,其速度依次为5.12939919, 8.03515481, 6.17837967。
  拉格朗日数乘,这种东西虽然复杂,但是写一遍就会了。
  魔性的二分解三次方程,和各种偏导。
  如果不是张老师开的大坑,估计近期还不知道这是啥东西。
#include<iostream>
#include<cstdio>
#include<cstring>
#include<algorithm>
using namespace std;
typedef long double real;
const real eps = 1e-10;
#define MAXN 10010
#define PROB "give"
real ss[MAXN],kk[MAXN],vv[MAXN];
real xx[MAXN];
real work(real a,real b)
{real l=-a;real r=1e3;while (l+eps<r){real mid=(l+r)/2.0;if (mid*mid*mid+mid*mid*a<b)l=mid;elser=mid;}return r;
}int main()
{freopen(PROB".in","r",stdin);freopen(PROB".out","w",stdout);int n;real e;int x,y,z;double a0;scanf("%d%lf",&n,&a0);e=a0;for (int i=0;i<n;i++){double a1,a2,a3;scanf("%lf%lf%lf",&a1,&a2,&a3);ss[i]=a1;kk[i]=a2;vv[i]=a3;}real l=0,r=1e10;real s,s2;while (l+eps<r){real mid=(l+r)/2.0;s=0;s2=0;for (int i=0;i<n;i++){xx[i]=work(-vv[i],mid/2/kk[i]);s+=kk[i]*ss[i]*(vv[i]*vv[i]+xx[i]*xx[i]-2*xx[i]*vv[i]);s2+=ss[i]/xx[i];}if (s<e)l=mid;elser=mid;}//printf("%.5lf\n",(double)l);printf("%.6lf\n",(double)s2);
}

转载于:https://www.cnblogs.com/mhy12345/p/4707226.html

bzoj 2876: [Noi2012]骑行川藏 拉格朗日数乘相关推荐

  1. bzoj 2876: [Noi2012]骑行川藏 二分+拉格朗日乘数法

    题意 蛋蛋非常热衷于挑战自我,今年暑假他准备沿川藏线骑着自行车从成都前往拉萨.川藏线的沿途有着非常美丽的风景,但在这一路上也有着很多的艰难险阻,路况变化多端,而蛋蛋的体力十分有限,因此在每天的骑行前设 ...

  2. bzoj 2876: [Noi2012]骑行川藏 拉格朗日乘子法

    题意 蛋蛋非常热衷于挑战自我,今年暑假他准备沿川藏线骑着自行车从成都前往拉萨.川藏线的沿途有着非常美丽的风景,但在这一路上也有着很多的艰难险阻,路况变化多端,而蛋蛋的体力十分有限,因此在每天的骑行前设 ...

  3. [拉格朗日乘数法 二分] BZOJ 2876 [Noi2012]骑行川藏

    拉格朗日乘数法 ACdreamers [Math & Algorithm] 拉格朗日乘数法 首先那个能量肯定是要花完的,就变成一个限制了,乘上拉格朗日乘子,求偏导,变成了 2λkix2i(xi ...

  4. 2876: [Noi2012]骑行川藏

    2876: [Noi2012]骑行川藏 Time Limit: 20 Sec  Memory Limit: 128 MBSec  Special Judge Submit: 1243  Solved: ...

  5. 2876: [Noi2012]骑行川藏 - BZOJ

    Description 蛋蛋非常热衷于挑战自我,今年暑假他准备沿川藏线骑着自行车从成都前往拉萨.川藏线的沿途有着非常美丽的风景,但在这一路上也有着很多的艰难险阻,路况变化多端,而蛋蛋的体力十分有限,因 ...

  6. [NOI2012]骑行川藏

    [NOI2012]骑行川藏 思路一:二分导数 http://www.cnblogs.com/RabbitHu/p/9019762.html 考虑"性价比"即花费单位能量缩短的时间. ...

  7. bzoj2876: [Noi2012]骑行川藏 :拉格朗日乘数法

    题目链接 bzoj2876 题目描述 Description 蛋蛋非常热衷于挑战自我,今年暑假他准备沿川藏线骑着自行车从成都前往拉萨.川藏线的沿途有着非常美丽的风景,但在这一路上也有着很多的艰难险阻, ...

  8. bzoj2876 [Noi2012]骑行川藏 [二分+拉格朗日乘数法]

    Description 蛋蛋非常热衷于挑战自我,今年暑假他准备沿川藏线骑着自行车从成都前往拉萨.川藏线的沿途有着非常美丽的风景,但在这一路上也有着很多的艰难险阻,路况变化多端,而蛋蛋的体力十分有限,因 ...

  9. [BZOJ2876] [NOI2012]骑行川藏

    Description 蛋蛋非常热衷于挑战自我,今年暑假他准备沿川藏线骑着自行车从成都前往拉萨.川藏线的沿途有着非常美丽的风景,但在这一路上也有着很多的艰难险阻,路况变化多端,而蛋蛋的体力十分有限,因 ...

最新文章

  1. 卷积神经网络模型可解释性
  2. 一分钟快速入门openstack
  3. iftop 监控linux服务器网卡流量
  4. GDCM:gdcm::IconImageGenerator的测试程序
  5. android 基站信号强度,终于知道,到底是什么影响信号强弱了!
  6. householder变换qr分解matlab_【基础教程】Matlab实现傅里叶变换
  7. 开展批评时的方式与态度
  8. 类的声明、成员的访问控制和对象
  9. 中国计划建设自己的卫星导航系统
  10. Myeclipse字符集设置
  11. 一阶惯性环节如何实现跟踪性能与滤波性能共存(总)
  12. PXE工作流程(PXE启动报错处理)
  13. 学信网如何通过证件编码查学历
  14. 树莓派能学linux吗,用树莓派能高效学习Linux和Python吗?
  15. web前端如何才能成为架构师
  16. 批济南某创华宇培训学校
  17. 什么是Alpha和Beta测试?
  18. 丐帮选CEO的四种模式
  19. win10无法找到wlan选项问题解决
  20. 武汉二手房市场现在怎样了?涨了还是跌了?分析下武汉二手房数据

热门文章

  1. 计算机视觉方向好中的期刊有哪些?
  2. realsense系列(三):播放深度图和RGB图
  3. Java基本方法命名
  4. DBA在项目中的角色
  5. 1527. 患某种疾病的患者(like关键字的使用)
  6. 科技百咖 | 天威诚信:韶光与共,不负前路
  7. 博客网页代码块渲染-显示行号,一键复制,全屏显示,mac风格(基于mavon-editor或wangEditor)
  8. 金立 M6 (GN8003) 解锁 BootLoader 进入第三方 recovery 刷机 ROOT
  9. MobaXterm连接虚拟机Ubuntu
  10. CodeWarrior flash