Always keep|

Creeper_l

园龄:1年4个月粉丝:9关注:13

C0328 【1005 C组】模拟测试 斜率 题解

原题链接:斜率

题意

在一个平面直角坐标系中,给定 \(n\) 个点的横纵坐标,求出哪两个点所构成的连线的斜率最接近 \(\frac{P}{Q}\)

数据范围:\(n \le 1000000\)

思路

显然这是一道数学题,不能直接暴力去找答案。

首先我们可以弱化一下题目,求出斜率最接近 \(y=0\)\(x\) 轴的两点。那我们其实要求的就是斜率的绝对值最小的两点。那么我们可以直接将这 \(n\) 个点按照横坐标的大小排序,然后答案就是组成的线段中斜率的绝对值最小的相邻的两个点。为什么答案一定在相邻两个点中呢?因为如下图所示,对于每一个 \(\bigtriangleup ABC\),都满足性质:\(k_{ac}> \min(k_{ab},k_{bc})\)

证明:

设三角形三个点的坐标分别为 \(A(a,b),B(e,f),C(c,d)\)

我们可以用反证法来证明,假设该性质不成立,即 \(k_{ac} \le k_{ab},k_{bc}\),那么:

\(\because\bigtriangleup ABC\),不可能有两边斜率相等。

\(\therefore k_{ac} < k_{ab},k_{bc}\)

\(\because \begin{cases}k_{ac}< k_{ab} \\k_{ac}< k_{bc} \end{cases}\)

\(\therefore \begin{cases}\left|\frac{d-b}{c-a}\right|< \left|\frac{b-f}{a-e}\right| \\\left|\frac{d-b}{c-a}\right|< \left|\frac{d-f}{c-e}\right| \end{cases} \)

\(\because d-b>0,c-a>0,b-f>0,a-e<0,d-f>0,c-e>0\)

化简原不等式得:
\( \begin{cases}\frac{d-b}{c-a}< \frac{b-f}{e-a} \\\frac{d-b}{c-a}< \frac{d-f}{c-e} \end{cases} \)

不等式两边交叉相乘得:
\( \begin{cases}de+ab-ad-be<cb+af-ab-cf \\cd+be-cb-de<cd+af-ad-cf \end{cases} \)

\(\therefore \begin{cases}2ab+de+cf<cb+af+ad+be \\be+ad+cf<af+bc+ed \end{cases} \)

两式相减得:\(ed+2ab-be-ad<ad+be-ed\)

\(\therefore 2ab+2ed<2ad+2be\)

\(\therefore ab+ed<ad+be\)

\(\therefore ab-ad<be-ed\)

\(\therefore a\times(b-d)<e\times(b-d)\)

\(\because b-d<0\)

\(\therefore a>e\)

如图所示,显然有 \(a<e\),所以原不等式组无解,于是得证,所以斜率最小的两个点一定是相邻的。

接下来我们来考虑如何求出斜率最接近 \(\frac{P}{Q}\) 的两个点,可以用和上述类似的方法来解答,我们不妨建立一个以现在的直线 \(y=\frac{P}{Q}x\)\(x\) 轴的新的平面直角坐标系,这样问题就转化为了求斜率的绝对值最小的两点,可以用上面所说的做法来实现,但是如何旋转坐标系呢?

我们需要将 \(y=\frac{P}{Q}x\) 这条直线旋转到 \(x\) 轴,设其顺时针旋转了 \(\alpha\) 度,那么这个操作其实等价于将原来坐标系中的每一个点逆时针旋转 \(\alpha\) 度。问题就转化了如何求出一个点逆时针旋转 \(\alpha\) 度后的坐标。

如下图所示设两个点分别是 \(B\)\(D\)\(\angle DAB=\alpha\)\(\angle BAC=\beta\),结论为:若 \(B(x,y)\),则有 \(D(x\cos \alpha - y\sin \alpha,x\sin \alpha + y \cos \alpha)\)

证明:

\(\because B(x,y)\)\(\therefore AC=x,BC=y\)

\(\therefore AB=AD=\frac{x}{\cos \beta}=\frac{y}{\sin \beta}\)

\(\therefore \begin{cases}DE=AD\times \sin\alpha+\beta \\AE=AD\times \cos\alpha+\beta \end{cases} \)

\(\because \begin{cases}\sin\alpha+\beta=\sin \alpha \times \cos \beta+\sin\beta\times \cos \alpha \\\cos\alpha+\beta=\cos\alpha\times\cos\beta-\sin\alpha\times \sin\beta \end{cases} \)(和角公式)

\(\therefore \begin{cases}DE=AD\times (\sin \alpha \times \cos \beta)+AD \times (\sin\beta\times \cos \alpha) \\AE=AD\times (\cos\alpha\times\cos\beta)-AD\times(\sin\alpha\times \sin\beta) \end{cases} \)

\(AD=\frac{x}{\cos \beta}=\frac{y}{\sin \beta}\) 带入原不等式得:
\( \begin{cases}DE=\frac{x}{\cos \beta}\times (\sin \alpha \times \cos \beta)+\frac{y}{\sin \beta} \times (\sin\beta\times \cos \alpha) \\AE=\frac{x}{\cos \beta}\times (\cos\alpha\times\cos\beta)-\frac{y}{\sin \beta}\times(\sin\alpha\times \sin\beta) \end{cases} \)

拆括号得:
\( \begin{cases}DE=x\times \sin \alpha +y \times \cos \alpha \\AE=x\times \cos\alpha-y\times \sin\alpha \end{cases} \)

\(\because D(AE,DE)\)

\(\therefore D(x\cos \alpha - y\sin \alpha,x\sin \alpha + y \cos \alpha)\),得证。

所以最终的做法是:将每个点逆时针旋转后得到新的点,再将新的点按照横坐标排序,答案为相邻两点构成的直线的斜率与 \(y=\frac{P}{Q}\) 的差的最小值。

本文作者:Creeper_l

本文链接:https://www.cnblogs.com/Creeperl/p/17913423.html

版权声明:本作品采用知识共享署名-非商业性使用-禁止演绎 2.5 中国大陆许可协议进行许可。

posted @   Creeper_l  阅读(15)  评论(0编辑  收藏  举报
  1. 1 イエスタデイ(翻自 Official髭男dism) 茶泡饭,春茶,kobasolo
  2. 2 世间美好与你环环相扣 柏松
  3. 3 True love tired
  4. 4 一笑江湖 (DJ弹鼓版) 闻人听書_
  5. 5 最好的安排 曲婉婷
  6. 6 星星在唱歌 司南
  7. 7 山川 李荣浩
  8. 8 On My Way Alan Walker
  9. 9 百战成诗 王者荣耀·100英雄官方群像献礼歌
  10. 10 雪 Distance Capper / 罗言
  11. 11 Edamame bbno$ / Rich Brian
  12. 12 半生雪 七叔-叶泽浩
  13. 13 Catch My Breath Kelly Clarkson
  14. 14 Love Is Gone SLANDER / Dylan Matthew
  15. 15 Endless Summer Alan Walker / Zak Abel
  16. 16 悬溺 葛东琪
  17. 17 风吹丹顶鹤 葛东琪
  18. 18 Normal No More TYSM
  19. 19 哪里都是你 队长
  20. 20 Stronger Kelly Clarkson
  21. 21 廖俊涛
  22. 22 消愁 毛不易
  23. 23 The Runner Yubik
  24. 24 踏山河 七叔-叶泽浩
  25. 25 Waiting For Love Avicii
  26. 26 在你的身边 盛哲
  27. 27 Dream It Possible Delacey
  28. 28 凄美地 郭顶
  29. 29 满天星辰不及你 ycc
  30. 30 侧脸 于果
  31. 31 阿拉斯加海湾 蓝心羽
  32. 32 虞兮叹 闻人听書_
  33. 33 离别开出花 就是南方凯
  34. 34 盗墓笔记·十年人间 李常超 (Lao乾妈)
最好的安排 - 曲婉婷
00:00 / 00:00
An audio error has occurred, player will skip forward in 2 seconds.
点击右上角即可分享
微信分享提示
评论
收藏
关注
推荐
深色
回顶
收起