Processing math: 100%

[BZOJ 2876][NOI2012]骑行川藏

我终于A了……不就是拉格朗日乘数法的模板题吗

首先这道题最优情况下一定有(这里用Ei表示第i段路程的耗能):ni=1Ei=Eu

然后这个东西是一个等式限制条件,然后我们还要最小化总用时,给人拉格朗日乘数法的即视感……

不管怎么说让我们来列式子吧:

h(x1,x2,,xn,λ)=ni=1sixi+λni=1kisi(xivi)2

hxi=six2i+2λkisi(xivi)

然后你会想这TM怎么解方程……

但是我们想一想,把hxi=0稍作整理,得:

12kiλ=x2i(xivi)

对于式子的左边,是一个关于xi的增函数(因为这道题默认了xi0xivi),然后不妨令1λ=u,可以发现u越大则xi越大!这样一来那么我们的限制条件就会更加难以满足。

所以我们可以二分这个u来解这些方程。

BTW,这题卡精度非常厉害……

代码: