3736. 数学题(math)

题目大意

给定两个向量,求 ∣ x a ⃗ + y b ⃗ ∣ |x\vec a+y\vec b| xa +yb 最小, x , y x,y x,y 不同时为0。

思路

约定 ∣ a ⃗ ∣ < ∣ b ⃗ ∣ |\vec a| < |\vec b| a <b ,且两个向量夹角小于 π 2 \frac{\pi}{2} 2π

Theorem1 :两个向量的夹角如果大于等于 π 3 \frac{\pi}{3} 3π ,则答案等于 m i n ( ∣ a ⃗ ∣ , ∣ b ⃗ ∣ ) min(|\vec a|,|\vec b|) min(a ,b )

Proof:容易得到
∣ x a ⃗ + y b ⃗ ∣ 2 = ∣ a ⃗ ∣ 2 x 2 + ∣ b ⃗ ∣ y 2 + 2 x y ∣ a ⃗ ∣ ∣ b ⃗ ∣ c o s θ |x\vec a+y\vec b|^2=|\vec a|^2x^2+|\vec b|y^2+2xy|\vec a||\vec b|cos\theta xa +yb 2=a 2x2+b y2+2xya b cosθ
因为 π 3 ≤ θ ≤ π 2 \frac{\pi}{3}\le\theta\le\frac{\pi}{2} 3πθ2π ,所以
≥ ∣ a ⃗ ∣ 2 x 2 + ∣ b ⃗ ∣ y 2 + x y ∣ a ⃗ ∣ ∣ b ⃗ ∣ ≥ ∣ ( ∣ a ⃗ ∣ x − ∣ b ⃗ ∣ y ) 2 + x y ∣ a ⃗ ∣ ∣ b ⃗ ∣ \ge|\vec a|^2x^2+|\vec b|y^2+xy|\vec a||\vec b| \\ \ge|(|\vec a|x - |\vec b|y)^2+xy|\vec a||\vec b| a 2x2+b y2+xya b (a xb y)2+xya b
x = 0 , y ≠ 0 x = 0, y\not=0 x=0,y=0 时, ∣ b ⃗ ∣ 2 y 2 ≥ ∣ b ⃗ ∣ 2 ≥ ∣ a ⃗ ∣ 2 |\vec b|^2y^2\ge|\vec b|^2\ge|\vec a|^2 b 2y2b 2a 2

x ≠ 0 , y = 0 x\not=0,y=0 x=0,y=0 时, ∣ a ⃗ ∣ 2 x 2 ≥ ∣ a ⃗ ∣ 2 |\vec a|^2x^2\ge|\vec a|^2 a 2x2a 2

否则 x y ∣ a ⃗ ∣ ∣ b ⃗ ∣ ≥ ∣ a ⃗ ∣ ∣ b ⃗ ∣ ≥ ∣ a ⃗ ∣ 2 xy|\vec a||\vec b|\ge|\vec a||\vec b|\ge|\vec a|^2 xya b a b a 2

所以答案为二者最小值。

Theorem2: ∣ x a ⃗ + y b ⃗ ∣ = ∣ ( x − k y ) a ⃗ + y ( b ⃗ + k a ⃗ ) ∣ |x\vec a+y\vec b|=|(x-ky)\vec a+y(\vec b+k\vec a)| xa +yb =(xky)a +y(b +ka )

以上证明显然。

发现可以用类似扩欧的做法来做。但如何选择 k k k 为一大难题。

在这里插入图片描述

如图,过点 B B B B E ⊥ O A BE⊥OA BEOA E E E

我们定义 O A → = a ⃗ , O B → = b ⃗ , O C → = c ⃗ , O D → = d ⃗ \overrightarrow{OA}=\vec a,\overrightarrow{OB}=\vec b,\overrightarrow{OC}=\vec c,\overrightarrow{OD}=\vec d OA =a ,OB =b ,OC =c ,OD =d ,且 c ⃗ = k a ⃗ , d ⃗ = ( k + 1 ) a ⃗ \vec c=k\vec a,\vec d=(k+1)\vec a c =ka ,d =(k+1)a ,且点 C , D C,D C,D E E E 点两边。则 k k k 可以推式子(求 O E OE OE 长再除以 ∣ a ⃗ ∣ |\vec a| a )或二分求得。

容易发现 B C → , a ⃗ \overrightarrow{BC},\vec a BC ,a B D → , a ⃗ \overrightarrow{BD},\vec a BD ,a 的答案等于 a ⃗ , b ⃗ \vec a,\vec b a ,b 的答案。其次我们发现 m a x ( ∠ B C D , ∠ B D C ) > ∠ A O B max(\angle BCD,\angle BDC)>\angle AOB max(BCD,BDC)>AOB 。所以若 ∠ B C D > ∠ B D C \angle BCD>\angle BDC BCD>BDC 则选择 B C → \overrightarrow{BC} BC ,否则选择 B D → \overrightarrow{BD} BD 。判断角的大小可以采用大边对大角的方法。

然后就可以递归求解。边界情况即是夹角大于 π 3 \frac{\pi}{3} 3π

注意:

  1. 两个向量共线的情况答案为0
  2. 若两个向量的夹角大于 π 2 \frac{\pi}{2} 2π ,则可以对任意一个向量关于原点作中心对称。

Code

#include <cmath>
#include <cstdio>
#include <iostream>
#include <algorithm>
#define sqr(x) (x * x)
#define pi M_PI
#define ll long long
using namespace std;
ll ans;
struct node {ll x, y;ll len() {return x * x + y * y;}node operator + (const node & s) const {return (node){x + s.x, y + s.y};}node operator - (const node & s) const {return (node){x - s.x, y - s.y};}node operator * (const ll & s) const {return (node){x * s, y * s};}ll operator * (const node & s) const {return x * s.x + y * s.y;}
}a, b;
ll work(node a, node b) {if (a.x * b.y - a.y * b.x == 0) return 0;if (a.len() > b.len()) swap(a, b);if (a * b < 0) a.x = -a.x, a.y = -a.y;if (sqr((a * b * 2)) < a.len() * b.len()) return min(a.len(), b.len());ll k = (a * b) / a.len();node c = a * k, d = a * (k + 1);if ((b - c).len() < (b - d).len() && k) return work(b - c, a);else return work(b - d, a);
}
int main() {freopen("math.in", "r", stdin);freopen("math.out", "w", stdout);while (~scanf("%lld%lld%lld%lld", &a.x, &a.y, &b.x, &b.y))printf("%lld\n", work(a, b));fclose(stdin);fclose(stdout);return 0;
}

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.rhkb.cn/news/55689.html

如若内容造成侵权/违法违规/事实不符,请联系长河编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

Cambridge IGCSE Mathematics数学真题讲解2

考试局&#xff1a;Cambridge Assessment International Education (CAIE) 考试类别&#xff1a;Cambridge International General Certificate of Secondary Education (IGCSE) 考试科目&#xff1a;Mathematics 考试单元&#xff1a;Paper 4 (Extended) 试卷代码&#xff1a;…

计算机类大学生竞赛经验分享

如果你是作为一个科班出生的学习编程方向的一名在校大学生&#xff0c;那么如果对竞赛感兴趣&#xff0c;可以看看这篇文章 本人作为一名前端开发方向的学生&#xff0c;将自己这几年的参赛经验和比赛相关类型介绍分享给大家 首先我们要知道&#xff0c;竞赛分为三种大概的方向…

上海AI Lab | 最新端到端自动驾驶综述,来龙去脉详尽梳理

点击下方卡片&#xff0c;关注“自动驾驶之心”公众号 ADAS巨卷干货&#xff0c;即可获取 今天自动驾驶之心很荣幸邀请到Li Chen来分享端到端自动驾驶的最新综述&#xff0c;如果您有相关工作需要分享&#xff0c;请在文末联系我们&#xff01; >>点击进入→自动驾驶之心…

华裔科学家Ashe教授对涉嫌造假的Nature论文的正面回应

Jeremy Olson 是普利策奖得主。他日前对明尼苏达大学研究阿尔茨海默病的著名华裔教授Karen Ashe博士进行了采访。Karen Ashe是2006年涉嫌造假的Nature论文的通讯作者&#xff0c;也是正在被调查质疑的Sylvain Lesn博士的前导师。 Karen Ashe 博士拒绝对Sylvain Lesn进行评论。S…

又一个免费GPT-4工具 Cursor,程序员写代码将被颠覆

每天都被openai震撼到&#xff0c; 他们家被广为人知的产品是chatgpt&#xff0c;就是那个聊天工具。现在已经开始有越来越多的产品集成openai&#xff0c;比如微软的office&#xff0c;bing。 现在又一个工具出现&#xff0c;一个叫Cursor的编辑器已经集成了openai的GPT-4&…

工具 | Cursor:一个不只是写代码的工具

本文首发微信公众号&#xff1a;全副武装的大师兄&#xff08;一个分享前沿技术&#xff0c;生活感受的公众号&#xff0c;关注我&#xff0c;率先了解好玩的工具&#xff09; 最新版本v0.1.12已经需要收费&#xff0c;伙伴们可以选择不用升级&#xff0c;另外&#xff0c;大家…

MySQL安装过程

本文章主要参考 https://blog.csdn.net/weixin_43579015/article/details/117228159?ops_request_misc%257B%2522request%255Fid%2522%253A%2522167866887916800184177766%2522%252C%2522scm%2522%253A%252220140713.130102334..%2522%257D&request_id167866887916800184…

网络游戏红利未减,昆仑万维如何急于转型?

文 | 黄安 来源 | 螳螂财经&#xff08;ID:TanglangFin&#xff09; 4月29日&#xff0c;昆仑万维公布了2020年一季报&#xff0c;营收超10亿&#xff0c;同比增长17.28%&#xff0c;归属股东净利润5亿&#xff0c;同比增长33.95%。然而在取得丰收的同时&#xff0c;今年也是…

昆仑万维旗下StarMaker VR成功加入Oculus开发者计划 获Oculus资金支持

​近期&#xff0c;昆仑万维旗下StarMaker VR平台成功加入Oculus开发者扶持计划&#xff0c;获得Oculus开发者资质认证及资金支持&#xff0c;这标志着StarMaker VR平台获得了全球VR头显龙头Oculus的官方认可&#xff0c;后续StarMaker VR会覆盖更多VR主流平台。 StarMaker VR…

昆仑万维年营收48.5亿:净利降69% 并表Opera与StarX

雷递网 雷建平 4月28日报道 昆仑万维日前发布财报&#xff0c;财报显示&#xff0c;昆仑万维2021年营收为48.5亿元&#xff0c;较上年同期的46.3亿元增长4.75%。 昆仑万维2021年计入政府补贴金额达3244万元。 昆仑万维2021年净利为15.47亿元&#xff0c;较上年同期的50.4亿元下…

昆仑万维拟收购音频社交应用StarMaker,全球超5000万活跃用户,2020年营收6.2亿

中国互联网公司出海已有10余年历史&#xff0c;根据AppsFlyer《2020中国娱乐与社交全球化应用报告》&#xff0c;2019Q1-2020Q1中国社交类应用以60%的年增长率远超全球19%的平均增速。Sensor Tower显示&#xff0c;全球非游戏类APP畅销排名TOP10中&#xff0c;9款产品均属泛娱乐…

AI作画的业界天花板被我找到了,AIGC模型揭秘 | 昆仑万维

一、前景 1、AI和AIGC的关系 人工智能&#xff08;Artificial Intelligence&#xff09;&#xff0c;英文缩写为AI。它是研究、开发用于模拟、延伸和扩展人的智能的理论、方法、技术及应用系统的一门新的技术科学。 AIGC是继 UGC、PGC 之后新型利用AI技术自动生成内容的生产…

昆仑万维

昆仑万维CEO周亚辉&#xff1a;说我们投资乱是因为看不懂 过去1年&#xff0c;昆仑万维在资本市场动作不断&#xff0c;不仅斥资9300万美元投资全球最大同性恋网站Grindr&#xff0c;最近还联手360一起斥资12亿美元收购海外浏览器厂商Opera。 作为A股资本运作最频繁公司之一&am…

AIGC数据库工具-阿里开源Chat2DB

前言 今天无意间发现了一个AIGC数据库工具&#xff0c;chat2DB&#xff0c;重点&#xff01;&#xff01;&#xff01;阿里开源&#xff0c;其设计产品的思想给了我很多灵感&#xff0c;故记录一下&#xff0c;并分享给大家。 概述&#xff1a; Chat2DB 是一款有开源免费的多…

昆仑万维宣布即将推出「天工」大模型,4月17日启动邀请测试

4月10日&#xff0c;昆仑万维宣布&#xff0c;其和奇点智源合作自研、中国第一个真正实现智能涌现的国产大语言模型——「天工」3.5发布在即&#xff0c;并将于4月17日启动邀请测试。 此外&#xff0c;「天工」大模型已经非常接近OpenAI ChatGPT的智能水平。ChatGPT是基于GPT3…

昆仑万维“勇闯”百模大战:一个“无懈可击”的商业故事话本?

文丨智能相对论 作者丨沈浪 新能源火了做新能源&#xff0c;元宇宙火了做元宇宙。 如果一个热点领域没有昆仑万维的身影&#xff0c;那一定是这个领域还不够“热”&#xff0c;爆不了。 但凡是热到爆的领域&#xff0c;昆仑万维虽迟但到。 不过&#xff0c;这样说可能有些…

独立AIGC潮头 昆仑万维发布昆仑天工AIGC全系列算法与模型

近日&#xff0c;国内领先的互联网出海平台企业昆仑万维正式发布了自己的全系列AIGC算法与模型——昆仑天工。 不同于其它公司的单一路线&#xff0c;昆仑万维在进军AIGC之际&#xff0c;直接是覆盖四大细分领域&#xff1a;AI图像、AI音乐、AI文本和AI编程。「昆仑天工」旗下模…

接踵而至,昆仑万维天工大语言模型发布

目录 天工大语言模型对标GPT3.5对话能力多模态应用同行对比后言 天工大语言模型 国产ChatGPT再次迎来新成员&#xff0c;4月17日下午&#xff0c;昆仑万维正式发布千亿级大语言模型“天工”&#xff0c;同时宣布即日起启动邀请测试&#xff0c;并注册了chatgpt.cn作为域名。天…

有个程序员老公有多爽???

本文转载自程序员专栏 程序员作为神奇的存在 虽然大部分单身 但是被拥有后 又是另一番世界

和老婆的一次真实对话

老婆下班回来&#xff0c;兴奋地给我说&#xff1a;代码好厉害啊&#xff0c;一行代码就解决了我的大问题。 我&#xff1a;什么问题&#xff1f; 老婆&#xff1a;我要把一个目录下几百个文件的文件名都复制到一个Excel中&#xff0c; 手工做很慢&#xff0c; 我百度了一下&am…