算法合集之《从立体几何问题看降低编程复杂度》.ppt

上传人:牧羊曲112 文档编号:6596869 上传时间:2023-11-16 格式:PPT 页数:24 大小:250.66KB
返回 下载 相关 举报
算法合集之《从立体几何问题看降低编程复杂度》.ppt_第1页
第1页 / 共24页
算法合集之《从立体几何问题看降低编程复杂度》.ppt_第2页
第2页 / 共24页
算法合集之《从立体几何问题看降低编程复杂度》.ppt_第3页
第3页 / 共24页
算法合集之《从立体几何问题看降低编程复杂度》.ppt_第4页
第4页 / 共24页
算法合集之《从立体几何问题看降低编程复杂度》.ppt_第5页
第5页 / 共24页
点击查看更多>>
资源描述

《算法合集之《从立体几何问题看降低编程复杂度》.ppt》由会员分享,可在线阅读,更多相关《算法合集之《从立体几何问题看降低编程复杂度》.ppt(24页珍藏版)》请在三一办公上搜索。

1、从立体几何问题看降低编程复杂度,人大附中 高亦陶,引言:一类立体几何问题,O(1)的空间复杂度O(1)的时间复杂度并非公认的简单题,巨大的编程复杂度,1 运用合适的思维方式,使用方程是一种进步方程是一种抽象的、通用的解题方法但是方程有时会忽略一部分已知信息通过具体地思考、充分利用已知信息可以从本质入手,降低编程复杂度,例1 Model Rocket Height,给出两条直线的起点和方向,求它们公垂线中点的高度。直线方向用仰角和方向角表示。,数据的初步处理和思路,公垂线,叉积,方向向量,消元?行列式?浮点误差?,根据空间向量基本定理有唯一解,尝试解题,可以化成三元一次方程组,麻烦,进一步思考,

2、另外两个未知量,三角形内已知一边和内角,求另一边长,最后一步,小结,将盲目的方程组求解改为一系列向量运算降低了编程复杂度,2 注意分类讨论,大量的分类+复杂的判断=难以承受的编程复杂度合理地把不同的情况合并起来可以大大改善这种状况,例2 Crossing Prisms,平面内有一个简单多边形。多边形边数4,每个顶点都是整点,坐标取值范围为0,10。顶点按照逆时针方向排序。,现在将这个多边形分别放置在xz面和yz面上。它们关于面xy对称。,分别以这两个多边形为底,以y轴和x轴为母线,以10为高作两个棱柱。求这两个棱柱的交的表面积。,关注表面,观察某个柱的一个侧面,它的一部分是交的表面,多数情况,

3、如果侧面与底面不平行,交的表面一定是用侧面截柱得到的截面,面积cos二面角射影面积,二面角很容易求射影面积柱底图形与y1 y y2的交的面积,重要情况,如果侧面与底面平行,边数4,可以证明只有图中两种情况,形状特殊的面,柱底图形在特定高度上的宽,面积宽2-(宽-边长)2,对正方形也适用!,继续利用这个宽,也可以用来计算射影面积!,射影面积sum(宽1+宽2)*高/2),需要对高度排序,算法框架,对高度排序计算每点高度处的宽枚举每一条边判断平行与否宽2-(宽-边长)2或者2*射影面积/cos二面角,计算宽 处理特殊情况,求所有边与y=yk的交点,最大值-最小值?,完全不考虑不规范交点?,利用逆时

4、针顺序关系确定交点方向,面积(宽1+宽2)*高/2?,在局部改变宽的定义,利用点的逆时针序忽略一些边,使两个宽不同,修改两个点的高度顺序最终使得面积可以照常计算,特判会打破先前的算法框架,一种具体的处理办法,忽略和每个点相邻的边,让凹角顶点对应的宽较大同时确保四个点的高按逆时针顺序呈1,2+,2-,3或3,2-,2+,1的形式,小结:合并的效果,情况,情况,情况,判断,比较复杂的计算途径,有点复杂的计算途径,另外的计算途径,判断,情况,情况,情况,处理,中间量,另外的计算途径,剩下的计算途径,总结和启示,算法是多样化的,选择时要注重适用性在遇到新问题时,首先想一想能不能在现有框架内解决,而不是随意添加新的内容对算法同样可以从类似内容中合并相同点从而达到精简的效果,谢谢,

展开阅读全文
相关资源
猜你喜欢
相关搜索

当前位置:首页 > 生活休闲 > 在线阅读


备案号:宁ICP备20000045号-2

经营许可证:宁B2-20210002

宁公网安备 64010402000987号