ACM竞赛中的数学方法初步课件.ppt
- 【下载声明】
1. 本站全部试题类文档,若标题没写含答案,则无答案;标题注明含答案的文档,主观题也可能无答案。请谨慎下单,一旦售出,不予退换。
2. 本站全部PPT文档均不含视频和音频,PPT中出现的音频或视频标识(或文字)仅表示流程,实际无音频或视频文件。请谨慎下单,一旦售出,不予退换。
3. 本页资料《ACM竞赛中的数学方法初步课件.ppt》由用户(晟晟文业)主动上传,其收益全归该用户。163文库仅提供信息存储空间,仅对该用户上传内容的表现方式做保护处理,对上传内容本身不做任何修改或编辑。 若此文所含内容侵犯了您的版权或隐私,请立即通知163文库(点击联系客服),我们立即给予删除!
4. 请根据预览情况,自愿下载本文。本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
5. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007及以上版本和PDF阅读器,压缩文件请下载最新的WinRAR软件解压。
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- ACM 竞赛 中的 数学 方法 初步 课件 下载 _竞赛_数学_初中
- 资源描述:
-
1、ACM竞赛中的数学方法初步计算几何 所谓计算几何,一般就指向量方法来解几何问题.为什么用向量?因为解析几何方法在很多时候都显得复杂,而且计算可能比较复杂,有精度损失问题.坐标法基础 计算几何都是以坐标化为前提的 必须知道一些基本的解析几何的方法.例如:两点距离的公式等向量的点积 向量a,b点积(又称内积)的几何意义是a在b(或b在a)上的投影长度(标量,注意可能为负值).计算方法是ab=|a|b|cosC,其中,C是向量a,b的夹角(下同).若向量a=(x1,y1,z1),b=(x2,y2,z2),则 ab=x1x2+y1y2+z1z2 cosC可以由此计算出来应用 用于计算向量夹角.判断两向
2、量是否垂直 平面方程的向量形式:平面方程ax+by+cz=0(已通过移坐标轴去掉常数项),令平面法向量n=(a,b,c),点X(x,y,z),则平面方程记为nX=0,实际上,如果平面过点P,则方程为n(X-P)=0.应用(续)还可以计算点P(x0,y0,z0)到平面nX=0的距离.把n单位化,不妨仍记为n,把向量OP往n上投影,即可得距离d=|n OP|.判断P是否在平面的哪一边:n OP为正时P在n指向的一侧,否则与n的指向相反向量叉积 叉积又称外积,ab的结果是一个矢量,其数值是以a,b为边的平行四边形面积,即|a|b|sinC,其方向和a,b都垂直,并且,a,b,ab构成右手系.计算方法
3、:222111,zyxzyxkjiba应用 计算三角形或者平行四边形面积 计算点到直线(进一步,线段)的距离 判断向量(或者直线,线段)平行关系 内积和外积结合可以判断复杂的位置关系点的旋转变换 原来的点(x,y)和变换后的点(x,y)的坐标之间满足下面的公式:x=xcos-ysin y=xsin+ycos 其中,是逆时针旋转的角度,这个公式适用于旋转点在原点的情况.球面距离 已知球半径R,球面上两点A,B的坐标A(x1,y1,z1),B(x2,y2,z2),球心在原点O,球面距离2arccosROBOARRd 已知两点的极坐标 ,其中,为经度数,为纬度数,则可以证明球面距离为 极坐标与直角坐
4、标之间的换算关系:其中,是纬度,是经度 已知极坐标,也可以先用上面的公式计算直角坐标,然后算球面距离,但是会有精度损失coscoscos sinsinxRyRzR计算几何进一步的话题 内容很丰富,以上列举的是基本的武器 参加ACM竞赛至少还需要了解二维凸包的算法(比较复杂)例题 BOJ1012 The Circumference of the Circle 给出了三个点的坐标,请输出由这三个点所确定的圆的周长,结果保留二位小数 如图,关键是求出外接圆半径R ABC 可以由向量外积算出面积s,并得到sinA.由正弦定理,a/sinA=2R 由此可以计算外接圆面积ABCabcBOJ1062 Pol
5、ygon Programming with Ease 给了n边形的n条边的中点,求n个顶点的坐标,n是奇数 可以建立两个(x坐标和y坐标)联系n个顶点和n个中点的n元一次方程组,注意到n是奇数,这样的方程有唯一解另一种思路 可以证明以下事实:将一个n边形依次以其每边中点为对称中心做中心对称(反射)变换,n次变换之后,等价于对此多边形做了一个以第一个顶点为中心,180度的旋转变换.可以任意选定一个点p,依次对每个中心做反射变换,n次之后得到q,则第一个顶点是(p+q)/2,由此可以得到其它顶点BOJ1054 Equidistance 给定球面两点A,B的极坐标,再给定第三点P的极坐标,求球面上到
6、A,B两点距离相等的点(组成一个大圆O1)到P点的最短球面距离 首先,把极坐标转换成直角坐标.以a,b,p代表A,B,P对应的向量.到A,B距离相等的点集构成一个平面,法向量是a-b,过点(a+b)/2,圆O1在这个平面上 向量a-b和p之间的夹角theta可以比较容易计算出来(使用内积方法和反三角函数),用球半径乘以theta的余角即可以得出所求球面距离.注意特殊情况:如果AB两点重合,则整个球面上的点到AB的距离都是相等的,那么P点到AB的距离也是相等的,所以此时所求的球面距离为P到自身的距离,为零.需要单独处理BOJ1059 Balanced Food 给了扇形的桌子和其上的圆形pizz
7、a的位置和大小,pizza被切成若干块(第一刀是沿x轴正向来切的),求一个取pizza的顺序,使得pizza不从桌子上掉下来 如右图,左边的两块pizza先取下面的后取上面的,可以不掉下来,右边的pizza一定会掉下来扇形重心公式 如果剩下的pizza的重心不在桌子上,pizza会掉下来.剩下的pizza的重心就是所有pizza片的几何中心(坐标的算术平均值),pizza片的重心可以通过积分手算出来sin32cos0202RddrrddrrdsxdsxRRssC 由此可以算得每块pizza片的重心坐标,计算剩下来的这些pizza片的重心坐标的算术平均值就得到整块剩下的pizza的重心(记做C)
8、坐标.下面的问题是判断C是否在桌子上.判断重心是否在桌上 如图,tuv是桌子,c是pizza的重心坐标.注意到桌子不会比半圆更大,并且tuv是按照逆时针标号,于是得到c不在桌子上有以下情形:tutc0 dist(t,c)dist(t,u)ctuv 实际上,还有更初等的判断方法,就是通过内积计算utc+ctv与 utv是否相等,不等就说明c不在桌上.只是,此法需要计算反三角函数,可能会损失精度.下面的问题是,如何来取这些pizza片才能使得整块pizza不掉下去呢?吃pizza的顺序 如果注意到n的大小只有10,那么可以考虑最稳妥的方法:回溯搜索.就是把所有可能的排列情况按照字典顺序都搜索一遍,
9、找到第一个可行的顺序就退出搜索.如果搜索完成之后都没有找到可行的取法,说明没有可行方法存在.时间复杂度O(n!)具体方法,如果你曾写过求迷宫的所有可行路的程序,应该很容易实现.以上是深度优先搜索的策略 实际上,本题使用贪心策略也是可以AC的(未能证明)每次都选一块编号最小的可行的pizza片,如果某一步进行不下去,就退出报告无可行取法.时间复杂度O(n2).题外话 本题的操作比较复杂,使用标准C+的算法库配合复数类,可以简化操作,但是要求熟悉上述工具.BOJ1072 Global Roaming 给了卫星的极坐标,球面上一些点的极坐标,判断哪些点可以看到卫星 解法甚多,以下为一种可能是比较简单
10、的 考虑地球上一点的切平面,它的法向量从地心指向该点.下面只需要判断卫星位于切平面的那一侧即可,这是我们已经解决的问题.初等数论 初等数论的内容也是比较多的,本次主要介绍素数的测试,数的整除性和跟同余有关的一些知识.素数测试 这是数论里的一个基本问题,而且现代社会应用也很广泛,发展了很多算法.首先要知道下面的方法.给了一个数n,从i3开始到n的算术根以步长2进行循环,如果n都不能整除i,那么n就是一个素数 这种方法效率比较低,判断一个数需要O(n1/2)的时间复杂度Eratosthenes筛法筛法(续)筛法并不仅用于计算素数,它还用于很多其它类似机理的场合(如BOJ1074 Assistanc
展开阅读全文