选择特殊符号
选择搜索类型
请输入搜索
用尺规作图,可以把线段平均分成两份,而利用几何图形或其他方法,也可以把线段三等分,把线段三等分是在原有基础上进一步提高,创新的结果。
div是等数目等分的,me是按照距离等分的。你自己试试。不过出来后你可能看不见,因为默认的点的样式是一个点,看不见,所以你必须在格式——点样式设置一下。随便换哪个都行。这样你就会看见了。
输入PE,会提示是否转为多线段,此时输入(Y)。如果本身就是多线段,系统就不会提示。此时按提示做或按J(合并)操作。
【1】线段比例尺就是在图上有一段线段表示比例,限度长度不确定,但是表示的实际距离可以通过比例尺计算,比如:线段长1厘米,那么图上1厘米的距离在实际上的距离就是2000000厘米。
三角形边的三等分线分割面积问题证明探究
1问题重现张劲松和刘才华两位老师在文[1]中依次证明了如下结论:如图1,D,E,F,G,H,I分别为△ABC的边BC,CA,AB的三等分点,连接△ABC的顶点与对应的三等分点,把△ABC分成12个三角形、3个四边形、3个五边形和1个六边形,共19个多边形.假设△ABC的面积为1,则19个多边形的面积分别为:研究发现,不但四边形、五边形、六边形都可以通过割补求得其面积,而且上述5个结论,都可以独立的证明(后者的证明不依赖前面已证明的结论)。
X波段三等分微带功率分配器
我校电磁场工程系研制的“X 波段三等分微带分配器”是一项电子设备中急需的用于功率分配的重要部件,传统的功率分配器一般采用2~n 分割,而该部件采用一分为三的微带功率分配方案。
三等分角线(Trisectrix)是可以用来三等分任意角的曲线。若只用标准的尺规作图,不配合曲线或是有刻度的直尺,三等分角是不可能的。有许多的曲线可以作为三等分角的辅助,而进行三等分角的方式也各有不同。以下是一些三等分角线:
蜗牛三等分角线(有些文献直接称此曲线为三等分角线)
马克劳林三等分角线
等边三叶(Equilateraltrefoil)
契尔恩豪森三次曲线
丢勒的大青叶(Durer'sfolium)
三次抛物线(Cubicparabola)
偏心率为2的双曲线
三叶的玫瑰线
抛物线
另一个相关曲线是等分角线(sectrix),是可以将任意角分为整数个的曲线。以下是一些等分角线:
阿基米德螺线
割圆曲线
马克劳林等分角线
Ceva等分角线(SectrixofCeva)
Delanges等分角线(SectrixofDelanges)
相信对算法设计或者数据结构有一定了解的人对线段树都不会太陌生。它是能够在log(MaxLen)时间内完成线段的添加、删除、查询等操作。但一般的实现都有点复杂而线段树应用中有一种是专门针对点的。(点树?)它的实现却非常简单。
这种数据结构有什么用?我们先来考虑一下下面的需求(全部要求在LogN时间内完成):如何知道一个点在一个点集里的大小"排名"?很简单,开一个点数组,排个序,再二分查找就行了;如何在一个点集内动态增删点?也很简单,弄个平衡树就行了(本来平衡树比线段树复杂得多,但自从世界上有了STL set这么个好东东,就……^_^)那如果我既要动态增删点,也要随时查询到一个点的排名呢?那对不起,可能就要出动到我们的"点树"了。
其实现原理很简单:每当增加(或删除)一个大小为X的点时,就在树上添加(或删除)一条(X,MaxLen)的线段(不含端点),当要查询一个点的排名时,只要看看其上有多少条线段就可以了。针对这一需求,这里有个非常简单的实现(见以下代码,十多行,够短了吧?)其中clear()用于清空点集;add()用于添加一个点;cntLs()返回小于n的点的个数,也就是n的升序排名,类似地cntGt是降序排名。
这个点树有什么用呢?其中一个应用是在O(NlogN)时间内求出一个排列的逆序数,方法是每读到一个数x,就让逆序数+=cntGt(x);然后再add(x)。
这个实现还可以进行一些扩展。比如删除del(int n),只要把add(int n)中的++size换成--size,把a[i/2]++改成a[i/2]--即可。另外还可以通过二分查找功能在O(logN)时间内查到排名第n的点的大小。应该也可以三四行内搞定。
补充:杨弋同学在2008年信息学奥赛冬令营上新发明了一种线段树的省空间堆式存储法,具体方法可以见08年冬令营课件.
实现代码及测试程序
另一种功能上比较类似的数据结构:"树状数组"。它们有不少相似之处:
针对点集的处理(添加、删除、查找);
相似的时空复杂度(logN时间,2N空间);
相似的编程复杂度(都比线段树简短得多);
因此,所有可以用树状数组解决的问题都可以用这个"点树"来解决,另外它还有以下好处:
更直观的转移;
同时支持自下而上和自上而下两种方向的查找和更新,而后者树状数组不支持,所以树状数组不提供某些功能,比如说O(logN)求点集中第k小数。
ZKW线段树由清华大学张昆玮发现,是一种新的用非递归方式实现的线段树,具体请参考张昆玮先生本人的讲稿《统计的力量》 。
线段树是一种二叉搜索树,与区间树相似,它将一个区间划分成一些单元区间,每个单元区间对应线段树中的一个叶结点。
对于线段树中的每一个非叶子节点[a,b],它的左儿子表示的区间为[a,(a+b)/2],右儿子表示的区间为[(a+b)/2+1,b]。因此线段树是平衡二叉树,最后的子节点数目为N,即整个线段区间的长度。
使用线段树可以快速的查找某一个节点在若干条线段中出现的次数,时间复杂度为O(logN)。而未优化的空间复杂度为2N,因此有时需要离散化让空间压缩。
线段树至少支持下列操作:
Insert(t,x):将包含在区间 int 的元素 x 插入到树t中;
Delete(t,x):从线段树 t 中删除元素 x;
Search(t,x):返回一个指向树 t 中元素 x 的指针。