【NOI2012】骑行川藏
获得成就:第一次在信竞做神仙数学题
先放个前言,$OI$ 出大型数学题还是比较麻烦的,因为主要是考你数学推导 / 手算式子,你算出来之后把公式套个板子,就得到结论——$OI$ 的大型数学题的代码都是板子……
然后再放一些前置物理知识——功的计算公式:$E(W)=F\times s$($s$ 表示路程)。
首先,我们得知道题目隐含条件,就是人速不能小于等于风速,否则总时间就是无穷大了。
我们可以先给每段路随便分配个速度或时间,我这里分配的是时间。
然后时间又可以先分配为无限小或无限大,我这里分配成无限小,也就是 $1\times 10^{-7}\times \frac{1}{n}$(不能 $\le 0$)。
这样我们就可以算出每段的人速($v_i=\frac{s_i}{t_i}$)。
也可以算出人总共做了多少功。
这时总功可能会超过限制。我们考虑增加人在某一段上骑行所用的时间,这样那一段的速度就会减小,力和功也随之减小。
这看起来很像个贪心。但做过 $dp$ 的人都知道,一步的最优选择不代表全局的最优选择。
如果要证明贪心是对的(即每一步的最优选择都属于全局的最优选择),我们得证明时间的导数在其有效区间中是单调上升的(这个有效区间就是 人速 $\gt$ 风速的部分)。
也就是说重点是把功的式子 $E=s_i\times k_i\times (\frac{s_i}{t_i}-v'_i)$ 求导数。
它的导数是 $$E'=(s_i\times k_i\times [2\times (\frac{s_i}{t_i}-v'_i)]\times (\frac{s_i}{t_i^2})$$
推导过程:
套用导数公式 $$\frac{dE}{dx}=\frac{dE}{dg}\times \frac{dg}{dx}$$
其意义是求 $E$ 以 $x$ 为底的导数,那么在这里 $dx=t_i^{-1}$。
可知如果设 $dg=\frac{s_i}{t_i}-v'_i$,则根据一些乱七八糟的导数公式可得
$$\frac{dE}{dg}=(s_i\times k_i\times [2\times (\frac{s_i}{t_i}-v'_i)]$$
由于 $v'_i$ 是给定的常数,它的导数值为 $0$,则 $$\frac{dg}{dx}=\frac{s_i}{t_i^2}$$
推导完毕。
不难发现这个导数式子是一个关于 $t_i$ 的 $-3$ 次方程,也就是 $t_i^{-1}$ 的 $3$ 次方程。而方程的图像状态只跟最高次数有关,所以它的图像大概就是 $3$ 次函数的样子:

然后我们考虑一下合法之前说过的有效区间在哪里(就是哪一段人速大于风速)。
但是我们发现横坐标好像有点碍事。我们发现总长是不变的,横坐标定义为时间的负 $x$ 次方,就跟定义为人速的正 $x$ 次方的趋势是一致的,也就是说两者画出来都是如上的三次方图像。
如果没明白,可以理解为把横纵坐标同乘上一个常数——$s_i$,然后横坐标就变成人速 $v_i$ 了,而原图像只是在纵方向上伸缩了。这样我们就得到了横坐标为 $v_i$ 的图像。
进一步地,我们还可以把横坐标再减去一个
【NOI2012】骑行川藏的更多相关文章
- bzoj 2876: [Noi2012]骑行川藏 拉格朗日数乘
2876: [Noi2012]骑行川藏 Time Limit: 20 Sec Memory Limit: 128 MBSec Special JudgeSubmit: 1033 Solved: ...
- 2876: [Noi2012]骑行川藏 - BZOJ
Description 蛋蛋非常热衷于挑战自我,今年暑假他准备沿川藏线骑着自行车从成都前往拉萨.川藏线的沿途有着非常美丽的风景,但在这一路上也有着很多的艰难险阻,路况变化多端,而蛋蛋的体力十分有限,因 ...
- bzoj2876 [Noi2012]骑行川藏
Description 蛋蛋非常热衷于挑战自我,今年暑假他准备沿川藏线骑着自行车从成都前往拉萨.川藏线的沿途有着非常美丽的风景,但在这一路上也有着很多的艰难险阻,路况变化多端,而蛋蛋的体力十分有限,因 ...
- bzoj2876 [NOI2012]骑行川藏(拉格朗日乘数法)
题目描述 蛋蛋非常热衷于挑战自我,今年暑假他准备沿川藏线骑着自行车从成都前往拉萨.川藏线的沿途有着非常美丽的风景,但在这一路上也有着很多的艰难险阻,路况变化多端,而蛋蛋的体力十分有限,因此在每天的骑行 ...
- [BZOJ2876][NOI2012]骑行川藏(拉格朗日乘数法)
题目:http://www.lydsy.com:808/JudgeOnline/problem.php?id=2876 分析:就是要求约束条件下函数的极值,于是拉格朗日乘数列方程,发现化简后的关于vi ...
- 【BZOJ】2876: [Noi2012]骑行川藏
题意 给出\(s_i, k_i, v_i', E\),满足\(\sum_{i=1}^{n} k_i s_i ( v_i - v_i' )^2 \le E, v_i > v_i'\),最小化$ \ ...
- NOI2012 骑行川藏
http://www.lydsy.com/JudgeOnline/problem.php?id=2876 表示完全不会...... 还是跪拜大神吧 http://www.cnblogs.com/Ger ...
- [NOI2012] 骑行川藏 | 求导 二分
一个能看的题解!预备知识只有高中数学的[导数].不用什么偏导数/拉格朗日乘子法之类的我看不懂的东西( •̀∀•́ )! 如果你不知道什么是导数,可以找本高中数学选修2-2来看一下!看第一章第1.2节就 ...
- [NOI2012]骑行川藏(未完成)
题解: 满分又是拉格朗日啥的 以后再学 自己对于n=2猜了个三分 然后对拍了一下发现是对的
- BZOJ2876 [Noi2012]骑行川藏 【拉格朗日乘数法】
题目链接 BZOJ 题解 拉格朗日乘数法 拉格朗日乘数法用以求多元函数在约束下的极值 我们设多元函数\(f(x_1,x_2,x_3,\dots,x_n)\) 以及限制\(g(x_1,x_2,x_3,\ ...
随机推荐
- Codeforces Round #316 (Div. 2) D Tree Requests
官方题解是离线询问,dfs树形转线性,然后二分找区间. 还有一种比较好的做法是直接dfs,将当前访问这个结点u相关的询问之前的状态存起来,然后访问完以后利用异或开关性,得到这颗子树上的答案. 代码是学 ...
- Resize a UIImage the right way
When deadlines loom, even skilled and experienced programmers can get a little sloppy. The pressure ...
- saltstack-day1
一.远程执行命令 1.指定一个ipv4地址或者一个子网 salt -S 172.16.7.19 test.ping salt -S test.ping 2. 正则表达式 salt -E "j ...
- Robot Framework(十) 执行测试用例——测试执行
3.2测试执行 本节描述如何执行从解析的测试数据创建的测试套件结构,如何在失败后继续执行测试用例,以及如何正常停止整个测试执行. 3.2.1执行流程 执行套房和测试 设置和拆卸 执行顺序 3.2.2继 ...
- python读取.mat文件
可以先看一下.mat中存了些什么: import scipy.io as sio box_file = '/home/bnrc/formatm/test/1479504458876408533_box ...
- Codeforces Round #274 (Div. 2)-C. Exams
http://codeforces.com/contest/479/problem/C C. Exams time limit per test 1 second memory limit per t ...
- [NOI2010]海拔——最小割+对偶图
题目链接 SOLUTION 想一下最优情况下肯定让平路或下坡尽量多,于是不难想到这样构图:包括左上角的一部分全部为\(0\),包括右下角的一部分全部为\(1\),于是现在问题转化为求那个分界线是什么. ...
- Linux内核漏洞利用-环境配置(转)
实验环境: Ubuntu-14.04.1 x86 linux-2.6.32.1 busybox-1.27.2 qemu 0x00 安装qemu sudo apt-get install qemu qe ...
- Spring Boot + Mybatis + Druid 动态切换多数据源
在大型应用程序中,配置主从数据库并使用读写分离是常见的设计模式. 在Spring应用程序中,要实现读写分离,最好不要对现有代码进行改动,而是在底层透明地支持. 这样,就需要我们再一个项目中,配置两个, ...
- usb3.0驱动
usb3.0驱动下载地址 华硕注入usb3.0驱动工具下载地址 https://dlsvr04.asus.com/pub/ASUS/misc/utils/ASUS_EZInstaller_V10306 ...